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

Bry*_*ynJ 4 google-maps map google-maps-api-3

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

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

是否有任何更简单的例子可以建立在我们的基础上或者有关实现这一目标的任何一般指导?

Tom*_*mik 6

绘制一条"像乌鸦飞过"的路线很容易,只需将折线的测地线选项设置为true即可:

var geodesic = new google.maps.Polyline({geodesic: true});
Run Code Online (Sandbox Code Playgroud)

您可以使用以下示例: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);
Run Code Online (Sandbox Code Playgroud)

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

var path = geodesic.getPath();
var length = google.maps.geometry.spherical.computeLength(path)
Run Code Online (Sandbox Code Playgroud)