Javascript 从谷歌地图中的建议路线提取距离

Javascript 从谷歌地图中的建议路线提取距离,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我设定这个: provideRouteAlternatives: true 我在我的方向面板中找到了其他路线 我可以通过以下方式获得主要路线距离: var myroute = result.routes[0]; for (i = 0; i < myroute.legs.length; i++) { total += myroute.legs[i].distance.value; } var myroute=result.routes[0]; 对于(i=0;i

我设定这个:

provideRouteAlternatives: true
我在我的方向面板中找到了其他路线

我可以通过以下方式获得主要路线距离:

var myroute = result.routes[0];
for (i = 0; i < myroute.legs.length; i++) {
  total += myroute.legs[i].distance.value;
}
var myroute=result.routes[0];
对于(i=0;i
例如,我可以计算油耗


但是,当我单击显示在方向面板上的替代路线时,我不知道如何获得新的距离。

主要路线是结果。路线[0]。第一个备选方案是result.routes[1]。

您可以使用
概述\u路径构建多段线。以下是第一条管线的示例,但您可以轻松地将其扩展到for循环,并使用不同的多段线和处理函数

      path = result.routes[0].overview_path;
      var polyline = new google.maps.Polyline({
        path: [],
        strokeColor: 'green',
        strokeWeight: 4
      });
      google.maps.event.addListener(polyline, 'click', function(me) {
        alert('Click');
       });
      var bounds = new google.maps.LatLngBounds();
      for (i=0;i<path.length;i++){
         polyline.getPath().push(path[i]);
         bounds.extend(path[i]);
      }
      polyline.setMap(map);
      map.fitBounds(bounds);
    });
path=result.routes[0]。概述\u路径;
var polyline=新的google.maps.polyline({
路径:[],
strokeColor:'绿色',
冲程重量:4
});
google.maps.event.addListener(多段线,'click',函数(me){
警报(“点击”);
});
var bounds=new google.maps.LatLngBounds();

对于(i=0;我非常感谢你!但是如何检测在directionsPanel上单击了哪个路由?为了回答你的问题,我不知道有什么方法可以检测默认显示中单击了哪个路由。可能需要自己渲染备用路由的显示,并向其中添加一个单击侦听器。我添加了一个用于构建多段线的小示例来自
概述\u路径的ne
。粘贴在这里没有意义,因此我添加了一个新的答案。如果你,你会得到一个备选方案列表,你可以点击它来更改渲染的路线。这就是我所说的,而不是点击路线。谢谢你们!我认为你的示例是我需要的。我很快会测试它们。Th谢谢你!