谷歌地图api:获取服务器端的折线长度

时间:2012-12-03 11:19:15

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

我在mysql中有折线数据。我想在php中测量它的长度。我看了distance matrix api。但它请求origin_addresses和destination_addresses,我没有得到这些值。

我找到了decodePolylineToArray要点但是当我解码我的折线时,有很多值。如何测量折线的长度?我正在使用php,但如果你有另一种语言的方法,我可以将它移植到php。

1 个答案:

答案 0 :(得分:0)

您需要为折线中的每个路径使用Haversine公式: http://en.wikipedia.org/wiki/Haversine_formula

针对不同的编程语言搜索: https://www.google.ch/search?q=php+haversine+formula&aq=0&oq=php+Haversine&aqs=chrome.1.57j0l3j62l2.8586&sourceid=chrome&ie=UTF-8

这是JS Calculate distance between two points in google maps V3中手动计算的一个很好的示例,但有一种更简单的方法:

google.maps.geometry.spherical.computeDistanceBetween(path.getAt(i), path.getAt(i+1));

查看此示例: http://www-users.mat.umk.pl/~kaskader/polyline_simple.html 使用它。

HTH