Javascript 计算多段线捕捉到街道时Google地图多段线的距离

Javascript 计算多段线捕捉到街道时Google地图多段线的距离,javascript,php,api,google-maps,google-maps-api-3,Javascript,Php,Api,Google Maps,Google Maps Api 3,我有以下代码,当单击地图时,会绘制一条捕捉到道路的路线。我想做的是找到多段线上每个标记之间的长度/距离,该长度/距离存储在数组中,并在每次单击新标记时递增,因此在最后可以显示移动的总距离。我尝试了一些在不同网站上找到的示例,但是没有一个适合我实际拥有的代码 我现在正在浏览GoogleMapsAPI文档,无意中发现了这一点,但是没有关于它可能如何工作的示例 poly = new google.maps.Polyline({ map: map }); google.maps.event.ad

我有以下代码,当单击地图时,会绘制一条捕捉到道路的路线。我想做的是找到多段线上每个标记之间的长度/距离,该长度/距离存储在数组中,并在每次单击新标记时递增,因此在最后可以显示移动的总距离。我尝试了一些在不同网站上找到的示例,但是没有一个适合我实际拥有的代码

我现在正在浏览GoogleMapsAPI文档,无意中发现了这一点,但是没有关于它可能如何工作的示例

  poly = new google.maps.Polyline({ map: map });
  google.maps.event.addListener(map, "click", function(evt) {

if (path.getLength() === 0) {
  path.push(evt.latLng);
  poly.setPath(path);
} else {
  service.route({
    origin: path.getAt(path.getLength() - 1),
    destination: evt.latLng,

    travelMode: google.maps.DirectionsTravelMode.DRIVING
  }, function(result, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      for (var i = 0, len = result.routes[0].overview_path.length;
          i < len; i++) {
        path.push(result.routes[0].overview_path[i]);

      }
    }
  });
}
var latitude_longitude = evt.latLng;
alert(latitude_longitude);////Gets latitude and Longitude - Latitude first - Longitude second

  });
可以找到当前发生情况的工作示例


非常感谢您的帮助。

要计算多段线的长度,请将所有顶点之间的距离相加:

var distance = 0;
for (var i = 0; i < path.getLength() - 2; i++) {
  distance += google.maps.geometry.spherical.computeDistanceBetween(path.getAt(i), path.getAt(i + 1));
}
alert(distance / 1000).toFixed(2) + " km [" + path.getLength() + "]");

使用“捕捉到道路”时是否适用?