[英]How do I parse JSON output from Google Maps API v3 distance matrix to PHP?
我只想將Google Maps API距離矩陣的輸出輸出到PHP中進行進一步處理。 我不知道如何將距離值返回到變量中。 我的數據是Google Maps API v3中的JSON文件 。
{
"destination_addresses" : [ "San Francisco, Californie, États-Unis", "Victoria, BC, Canada" ],
"origin_addresses" : [ "Vancouver, BC, Canada", "Seattle, Washington, États-Unis" ],
"rows" : [
{
"elements" : [
{
"distance" : {
"text" : "1 703 km",
"value" : 1703343
},
"duration" : {
"text" : "3 jours 19 heures",
"value" : 326836
},
"status" : "OK"
},
{
"distance" : {
"text" : "138 km",
"value" : 138267
},
"duration" : {
"text" : "6 heures 45 minutes",
"value" : 24278
},
"status" : "OK"
}
]
},
{
"elements" : [
{
"distance" : {
"text" : "1 451 km",
"value" : 1451182
},
"duration" : {
"text" : "3 jours 4 heures",
"value" : 274967
},
"status" : "OK"
},
{
"distance" : {
"text" : "146 km",
"value" : 146496
},
"duration" : {
"text" : "2 heures 52 minutes",
"value" : 10321
},
"status" : "OK"
}
]
}
],
"status" : "OK"
}
我是JavaScript和JSON的新手,幾乎沒有PHP經驗。
$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 = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=Hyderabad+Telangana+India&destinations=Mumbai+Maharashtra+India';
$json = file_get_contents($url);
$result = json_decode($json, true);
$mi = $result['rows'][0]['elements'][0]['distance']['text'];
$km = $mi*1.60934;
echo round($km)." KM <br/>";
echo $result['rows'][0]['elements'][0]['duration']['text'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.