2012-01-12 5 views
2

Google지도에 다중 경로를 그리려면 여러 개의 폴리 라인을 그려야합니다. 이를 위해 내가 google.maps.DirectionsServiceGoogle지도의 길 찾기에서 여러 폴리 라인을 표시하는 방법은 무엇입니까?

function drawPolyline(source,destination,waypoints){ 
     // show route between the points 
     directionsService = new google.maps.DirectionsService(); 
     directionsDisplay = new google.maps.DirectionsRenderer(
     { 
      suppressMarkers: true, 
      suppressInfoWindows: true 
     }); 
     directionsDisplay.setMap(map); 
     var request = { 
      origin:source, 
      destination:destination, 
      waypoints:waypoints, 
      travelMode: google.maps.DirectionsTravelMode.DRIVING 
     }; 
     directionsService.route(request, function(response, status) 
     { 
      if (status == google.maps.DirectionsStatus.OK) 
      { 
       directionsDisplay.setDirections(response); 

      } 
     }); 

     } 

를 사용하고 있지만이 방법을 여러 번 호출 할 때, 단지 마지막 폴리 라인이 나타나고있다. 다른 폴리 라인에 대해 다른 색상을 원합니다.

답변

2

방향은 경로를 검사 할 수 있습니다 : http://code.google.com/apis/maps/documentation/javascript/directions.html#InspectingResults

DirectionsResult에 객체가 및 경로의 배열은 [], 당신이이 경로를 구성하는 인코딩 된 폴리 라인의 집합을 얻을 수있는 :

if (status == google.maps.DirectionsStatus.OK) 
      { 
       directionsDisplay.setDirections(response); 
       myRoutes[]=response.routes[]; 

      } 

routes [] 배열을 사용하여 Scottux가 언급 한대로 폴리 라인 오버레이를 구성 할 수 있습니다.

+0

사실 이것은 잘못되었습니다. "routes"배열에는 다리가 아닌 동일한 경로에 대해 다른 옵션이 있습니다. [문서] (https://developers.google.com/maps/documentation/javascript/directions#DirectionsResults)에서 : "일반적으로 요청의 provideRouteAlternatives 필드가 true로 설정되어 있지 않으면 주어진 요청에 대해 하나의 경로 만 반환됩니다. 여러 경로가 반환 될 수 있습니다. " DirectionsRenderer를 사용할 때 다리를 사용자 정의 할 수없는 경우 분리 된 폴리 라인을 작성해야합니다. –

2

길 찾기 렌더러가 아닌 각각에 폴리 라인을 사용해야합니다.

var line = new google.maps.Polyline({clickable:true,map:map,path:"some lat,lngs"}); 

여기 API를보고하십시오 : http://code.google.com/apis/maps/documentation/javascript/reference.html#Polyline 옵션은 다음과 같습니다 : http://code.google.com/apis/maps/documentation/javascript/reference.html#PolylineOptions

DirectionsRenderer의 선을 그리기위한 매우 유연하지, 단순히 간단한 방향 기능을위한 도우미입니다.

관련 문제