2012-01-28 9 views
6

同じマップに複数のルートを表示しようとしていますが、実行できません。Googleマップに複数のルートを表示する

私は何をしていても、ルートは1つしかありません。

function calcRoute() { 
     var start = document.getElementById('start').value; 
     var end = document.getElementById('end').value; 
     var request = { 
      origin: start, 
      destination: end, 
      travelMode: google.maps.DirectionsTravelMode.DRIVING 
     }; 
     directionsService.route(request, function(response, status) { 
      if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay.setDirections(response); 
      } 
     }); 
     } 

任意のポインタが役立ちます。

答えて

0

次のように試しましたか?
ここでは、1つのパスをキャプチャして表示しました。あなたはそれ以外にもpointsArray = result.routes[1].overview_path;と書いて同じことをし、それを新しいループで表示することができます。

directionsService.route (request, function (result, status) 
     { 
      if (status == google.maps.DirectionsStatus.OK) 
      { 
       directionsDisplay.setDirections (result); 
       pointsArray = result.routes[0].overview_path; 

       var i = 0; 
       var j = 0; 

       for (j = 0; j < pointsArray.length; j++) 
       { 
        var point1 = new google.maps.Marker ({ 
                position:pointsArray [j], 
                draggable:false, 
                map:map, 
                flat:true 
                }); 
       } 
      } 
     }); 
+0

はいこの結果を実行しています。ルート[1] .overview_path;私に第二のルートを与えていない。 –

+0

@AJ。この場合、2番目のルートはありませんか?いくつかの異なる座標セットでこれを試しましたか?とにかく、他の人がテストするためにここにあなたの実際のコード(result.routes [1] .overview_pathを含む)を提示できますか? –

+0

ありがとうございました。はい、利用可能なルートは3つあります。コードスニペットをここに貼り付けます。 –

14

私は同じ問題を抱えていました。 GoogleマップのGoogleグループのThis threadは、その方法を示しています。あなたが同じマップと異なるDirectionsResultsのを使用 2つのDirectionsRendererオブジェクト、それぞれを作成することができるはず

著者(Googleの従業員)が、これを書きました。

var map = new google.maps.Map(document.getElementById("map_canvas")); 
function renderDirections(result) { 
    var directionsRenderer = new google.maps.DirectionsRenderer; 
    directionsRenderer.setMap(map); 
    directionsRenderer.setDirections(result); 
} 

var directionsService = new google.maps.DirectionsService; 
function requestDirections(start, end) { 
    directionsService.route({ 
    origin: start, 
    destination: end, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
    }, function(result) { 
    renderDirections(result); 
    }); 
} 
requestDirections('Huntsville, AL', 'Boston, MA'); 
requestDirections('Bakersfield, CA', 'Vancouver, BC'); 

私はそれを試してみましたが、それは仕事をしません。

関連する問題