在PHP中计算两个坐标点之间的驾车距离

3

我正在开发一个基于位置的应用程序,需要在服务器端找到两个地点之间的驾车距离。我正在使用PHP编写Web服务。

目前,我能够使用Haversine公式计算空中距离,但现在我想计算驾车距离。

可能有类似的问题,但我没有找到任何帮助来计算两个“坐标”(即纬度和经度)之间的“驾车距离”,而不是地址。


2
使用Google Maps API。 - alex
2个回答

5

使用Google Distance Matrix API

Google Distance Matrix API是一个服务,为一组出发地和目的地提供旅行距离和时间。

以下是代码示例:

$q = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=Seattle&destinations=San+Francisco&mode=driving&sensor=false";

$json = file_get_contents($q);

$details = json_decode($json, TRUE);

echo "<pre>"; print_r($details); echo "</pre>";

请访问Google Distance Matrix API了解更多相关信息。


3

这应该可以帮助你入门...

$json = file_get_contents('http://maps.google.com/maps/nav?q=from:Buderim,Australia%20to:Brisbane,Australia');

$details = json_decode($json, TRUE);

var_dump($details['Directions']['Distance']['meters']);

1
谢谢您的帮助,但我想要它在两个纬度和经度之间。 - SAPHIRE
@Saphire 只需在那里放置纬度和经度即可。 - alex
@alex,这是公共API吗?还是只是谷歌使用的东西?如果它不是公共API(即谷歌说它是公共的),那么使用它可能是非法的。 - binaryLV
@AR 他们都提到了JavaScript的解决方案。OP想要一个PHP的解决方案。 - alex
1
@SAPHIRE,你还需要什么?“2918米”不就是你要找的距离吗? - binaryLV
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接