使用jQuery在Google地图上的两点之间画一条线?

Vik*_*kas 17 javascript jquery google-maps google-maps-api-3

如何使用jQuery或Javascript在Google地图API中绘制两点(纬度和经度)之间的线?我需要两点之间的最短路径.它可以是任何类型的线.

dun*_*can 62

这是绘制线条的API v3方式.

var line = new google.maps.Polyline({
    path: [
        new google.maps.LatLng(37.4419, -122.1419), 
        new google.maps.LatLng(37.4519, -122.1519)
    ],
    strokeColor: "#FF0000",
    strokeOpacity: 1.0,
    strokeWeight: 10,
    map: map
});
Run Code Online (Sandbox Code Playgroud)

这只是在两点之间画一条直线.如果你想要它是最短的路径,你需要考虑地球是弯曲的事实,并绘制一个测地线.为此,您必须通过添加此可选参数来使用Google Maps API中的几何库:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=geometry"></script>
Run Code Online (Sandbox Code Playgroud)

然后只需添加geodesic: truePolyline的选项:

var line = new google.maps.Polyline({
    path: [new google.maps.LatLng(37.4419, -122.1419), new google.maps.LatLng(37.4519, -122.1519)],
    strokeColor: "#FF0000",
    strokeOpacity: 1.0,
    strokeWeight: 10,
    geodesic: true,
    map: map
});
Run Code Online (Sandbox Code Playgroud)


Gur*_*ngh 6

仅适用于API v2!

以下代码段在两点之间创建了一个10像素宽的红色折线:

var polyline = new GPolyline([
  new GLatLng(37.4419, -122.1419),
  new GLatLng(37.4519, -122.1519)],
  "#ff0000", 10);
map.addOverlay(polyline);
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到文档。

  • 该版本适用于已弃用的API v2,并将于2013年5月停止工作。强烈建议您不要使用它,而应改用API v3。 (3认同)