1

我设置了这个:

provideRouteAlternatives: true

我在我的方向面板中获得了替代路线

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

var myroute = result.routes[0];
for (i = 0; i < myroute.legs.length; i++) {
  total += myroute.legs[i].distance.value;
}

例如,我可以计算油耗。

但是当我点击显示在方向面板上的替代路线时,我无法弄清楚如何获得新的距离。

4

2 回答 2

0

您可以使用 构造折线overview_path。这是第一个路线的示例,但您可以轻松地将其扩展到 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);
    });

给你点击监听器。

于 2012-10-28T23:53:41.683 回答
0

主要路线是 result.routes[0]。第一个替代方案是 result.routes[1]。

于 2012-10-28T07:09:08.870 回答