如何将Google Maps API v3距离矩阵的JSON输出解析为PHP?

如何将Google Maps API v3距离矩阵的JSON输出解析为PHP?,php,json,google-maps-api-3,Php,Json,Google Maps Api 3,我只想将GoogleMapsAPI距离矩阵的输出输入PHP进行进一步处理。我不知道如何将距离值返回到变量中。我的数据是 { “目的地地址”:[“加利福尼亚州旧金山,爱塔尼斯”,“加拿大不列颠哥伦比亚省维多利亚州”], “原产地地址”:[“加拿大不列颠哥伦比亚省温哥华”、“华盛顿州西雅图市爱塔茨联合国”], “行”:[ { “要素”:[ { “距离”:{ “文本”:“1703公里”, “价值”:1703343 }, “期限”:{ “文本”:“3日19小时”, “价值”:326836 }, “状态”

我只想将GoogleMapsAPI距离矩阵的输出输入PHP进行进一步处理。我不知道如何将距离值返回到变量中。我的数据是

{
“目的地地址”:[“加利福尼亚州旧金山,爱塔尼斯”,“加拿大不列颠哥伦比亚省维多利亚州”],
“原产地地址”:[“加拿大不列颠哥伦比亚省温哥华”、“华盛顿州西雅图市爱塔茨联合国”],
“行”:[
{
“要素”:[
{
“距离”:{
“文本”:“1703公里”,
“价值”:1703343
},
“期限”:{
“文本”:“3日19小时”,
“价值”:326836
},
“状态”:“确定”
},
{
“距离”:{
“文本”:“138公里”,
“价值”:138267
},
“期限”:{
“文本”:“6小时45分钟”,
“价值”:24278
},
“状态”:“确定”
}
]
},
{
“要素”:[
{
“距离”:{
“文本”:“1451公里”,
“价值”:1451182
},
“期限”:{
“文本”:“3日4小时”,
“价值”:274967
},
“状态”:“确定”
},
{
“距离”:{
“文本”:“146公里”,
“价值”:146496
},
“期限”:{
“文本”:“2小时52分钟”,
“价值”:10321
},
“状态”:“确定”
}
]
}
],
“状态”:“确定”
}

我不熟悉javascript和JSON,对PHP的经验很少。

试试这个。确保在url中使用+而不是空格分隔位置:

$url = 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver+BC|Seattle&destinations=San+Francisco|Victoria+BC&mode=bicycling&language=fr-FR&sensor=false';
$json = file_get_contents($url); // get the data from Google Maps API
$result = json_decode($json, true); // convert it from JSON to php array
echo $result['rows'][0]['elements'][0]['distance']['text'];
<?php
    $url = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Place+City&destinations=Place+City';

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $response = curl_exec($ch);
    if(curl_error($ch))
    {
        echo 'error:' . curl_error($c);
    }
    else{
        echo json_decode($response,true);
    }

    curl_close($ch);
    ?>

试试这个。确保在url中使用+而不是空格分隔位置:

<?php
    $url = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Place+City&destinations=Place+City';

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $response = curl_exec($ch);
    if(curl_error($ch))
    {
        echo 'error:' . curl_error($c);
    }
    else{
        echo json_decode($response,true);
    }

    curl_close($ch);
    ?>

$url='1!'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Hyderabad+泰兰加纳+印度&目的地=孟买+马哈拉施特拉邦+印度';
$json=文件获取内容($url);
$result=json_decode($json,true);
$mi=$result['rows'][0]['elements'][0]['distance']['text'];
$km=$mi*1.60934;
回声圆($km)。“km
”; echo$result['rows'][0]['elements'][0]['duration']['text'];
$url='1!'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Hyderabad+泰兰加纳+印度&目的地=孟买+马哈拉施特拉邦+印度';
$json=文件获取内容($url);
$result=json_decode($json,true);
$mi=$result['rows'][0]['elements'][0]['distance']['text'];
$km=$mi*1.60934;
回声圆($km)。“km
”; echo$result['rows'][0]['elements'][0]['duration']['text'];