1

私はこれを設定しました:

provideRouteAlternatives: true

そして、方向パネルで代替ルートを取得します

この方法でメイン ルートの距離を取得できます。

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

たとえば、燃料消費量を計算できます。

しかし、directionPanelに表示されている代替ルートをクリックすると、新しい距離を取得する方法がわかりません。

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 に答える