从Google地图中的建议路线中提取距离

时间:2012-10-28 07:05:24

标签: javascript google-maps google-maps-api-3

我设置了这个:

provideRouteAlternatives: true

我在 directionsPanel

中获得了替代路线

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

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

因此,我可以计算一下燃油消耗量。

但是当我点击 directionsPanel 上显示的其他路线时,我无法弄清楚如何获得新的距离。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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);
    });

为您提供点击监听器。