Dan*_*llo 30
假设您正在寻找地理距离,首先您需要使用Google Maps服务器端地理编码服务获取两个邮政编码的纬度和经度,如下例所示:
$url = 'http://maps.google.com/maps/geo?q=EC3M,+UK&output=csv&sensor=false';
$data = @file_get_contents($url);
$result = explode(",", $data);
echo $result[0]; // status code
echo $result[1]; // accuracy
echo $result[2]; // latitude
echo $result[3]; // longitude
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用大圆距离实现来计算两个邮政编码坐标之间的距离,如下所示:
请注意,服务器端地理编码服务只能与在Google地图上显示结果一起使用; Google Maps API服务条款许可限制禁止在地图上显示地理编码结果.
更新:
如果您正在寻找行驶距离而不是地理距离,请注意目前没有经过记录和批准的方法可以通过服务器端的HTTP请求访问Google Maps Directions API.
然而,返回JSON输出的未记录方法如下:
http://maps.google.com/maps/nav?q=from:London%20to:Dover
Run Code Online (Sandbox Code Playgroud)
这将以JSON格式返回行车路线以及总行驶距离:"meters":122977.
q参数的格式应该是from:xxx%20to:yyy.分别用起点和终点替换xxx和yyy.您可以使用纬度和经度坐标而不是完整地址:
http://maps.google.com/maps/nav?q=from:51.519894,-0.105667%20to:51.129079,1.306925
Run Code Online (Sandbox Code Playgroud)
请注意,这不仅是未记录的,而且还可能违反Google Maps API条款和条件的限制10.1和10.5 .
您可能会对查看以下相关文章感兴趣:
| 归档时间: |
|
| 查看次数: |
59408 次 |
| 最近记录: |