php - 使用google api获取两个位置之间的距离

标签 php google-maps google-maps-api-3

我有以下代码:

$output = file_get_contents("http://maps.google.com/maps/nav?q=from:39.519894,-5.105667%20to:51.129079,1.306925");

$distance = json_decode($output);

我从 Google API 获得 JSON 响应,但是当我使用 json_decode() 解码 JSON 时,我得到一个 NULL 值,这意味着该函数无法解码

这背后的原因是什么?

最佳答案

这应该对你有用,你可以将地址或只是纬度/经度传递给 $from & $to

$from = "Więckowskiego 72, Łódź";
$to = "Gazowa 1, Łódź";

$from = urlencode($from);
$to = urlencode($to);

$data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&language=en-EN&sensor=false");
$data = json_decode($data);

$time = 0;
$distance = 0;

foreach($data->rows[0]->elements as $road) {
    $time += $road->duration->value;
    $distance += $road->distance->value;
}

echo "To: ".$data->destination_addresses[0];
echo "<br/>";
echo "From: ".$data->origin_addresses[0];
echo "<br/>";
echo "Time: ".$time." seconds";
echo "<br/>";
echo "Distance: ".$distance." meters";

关于php - 使用google api获取两个位置之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14051722/

相关文章:

php - 如何防止 PHP 中的 SQL 注入(inject)?

google-maps - 在室内搜索中使用信标在 Google map 中获得更好的结果

javascript - 访问 jQuery 元素 Google Maps Listener

android - 是否可以使用移动谷歌地图传感器获取我当前位置的邮政编码?

google-maps-api-3 - 地理编码API的超出使用限制

php - 插入 MySQL 表 PHP

php - 为什么远程保存时 PHPExcel 文件会损坏?

php - EC2 和 SilverStripe 的 Mod_PageSpeed 问题

Flutter - 从坐标获取地理编码地址

react-native - 在 React Native 中从 Google Places Autocomplete 获取经纬度