谷歌地图 - 在多个纬度经度对之间绘制线条和距离(如乌鸦飞行)

时间:2011-03-10 22:35:21

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

我希望通过多个纬度经度对在地图上绘制“乌鸦飞行”的路线。我还需要计算总距离(最好是点之间的距离)。

我找到了这个例子http://www.daftlogic.com/projects-advanced-google-maps-distance-calculator.htm,但它比我要求的要复杂得多 - 我不需要任何类型的搜索功能,因为我已经拥有纬度经度数据。但是,它显示路线的方式是我想要实现的目标

是否有任何我可以构建的简单示例或有关实现此目的的任何一般指导?

3 个答案:

答案 0 :(得分:6)

绘制路线“当乌鸦飞行”很容易,只需将折线的测地线选项设置为true:

var geodesic = new google.maps.Polyline({geodesic: true});

您可以使用此示例: http://code.google.com/apis/maps/documentation/javascript/examples/geometry-headings.html

要计算距离,您可以使用Google Maps API V3的几何库。 http://code.google.com/apis/maps/documentation/javascript/geometry.html

计算很简单:

var distance = google.maps.geometry.spherical.computeDistanceBetween(latLngOfPointA, latLngOfPointB);

要计算路径的长度,可以使用computeLength函数:

var path = geodesic.getPath();
var length = google.maps.geometry.spherical.computeLength(path)

答案 1 :(得分:2)

请务必在调用Google Maps API时添加几何库。

Bootstrap from Documentation

<script type="text/javascript"       src="http://maps.google.com/maps/api/js?libraries=geometry&sensor=true_or_false">  </script>

答案 2 :(得分:0)

我有一个带有Vincenty公式的Excel文件我可以转发。在20'000 km上精度优于20 cm。