2013-12-18 87 views
0

如何在同一張地圖上顯示兩條路線?例如:A-> B y C-> D。 使用Google Maps API。如何在同一張地圖上顯示兩條路線?

 function calcRoute1() { 
     var start = 'Huanchaco-Trujillo'; 
     var end = 'Lince-Lima'; 
     var request1 = { 
      origin:start, 
      destination:end, 
      travelMode: google.maps.TravelMode.DRIVING 
     }; 
     directionsService.route(request1, function(response1, status) { 
      if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay.setDirections(response1); 
      } 
     }); 
     } 

     function calcRoute2() { 
     var start = 'Chiclayo-Lambayeque'; 
     var end = 'Tacna-Tacna'; 
     ... 
     } 
+0

是。使用兩個不同的directionsRenderer實例(可能還有兩個不同的directionsService實例)。如果兩條路線的邊界非常不同,則可能需要手動計算一個邊界,以顯示兩者([google.maps.LatLngBounds.union](https://developers.google.com/maps/documentation/javascript/reference #LatLngBounds)) – geocodezip

+0

[類似問題](http://stackoverflow.com/questions/20366537/can-you-display-multiple-maps-on-the-same-page-with-directions-using-google-maps/ 20366832#20366832)(在不同的地圖上有多組方向,但可以將它們放在同一張地圖上) – geocodezip

回答

0

這個工作對我來說:

var directionsService1 = new google.maps.DirectionsService(); 
    var directionsDisplay1 = new google.maps.DirectionsRenderer(); 

    function calcRoute1() { 
     var start = 'Huanchaco-Trujillo'; 
     var end = 'Lince-Lima'; 
     var request1 = { 
      origin:start, 
      destination:end, 
      travelMode: google.maps.TravelMode.DRIVING 
     }; 
     directionsService1.route(request1, function(response1, status) { 
      if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay1.setDirections(response1); 
     directionsDisplay1.setMap(map); 
      } 
     }); 
     } 

     var directionsService2 = new google.maps.DirectionsService(); 
     var directionsDisplay2 = new google.maps.DirectionsRenderer(); 
     function calcRoute2() { 
     var start = 'Chiclayo-Lambayeque'; 
     var end = 'Tacna-Tacna'; 
     var request2 = { 
      origin:start, 
      destination:end, 
      travelMode: google.maps.TravelMode.DRIVING 
     }; 
     directionsService2.route(request2, function(response2, status) { 
      if (status == google.maps.DirectionsStatus.OK) { 
      directionsDisplay2.setDirections(response2); 
     directionsDisplay2.setMap(map); 
      } 
     }); 
     } 
google.maps.event.addDomListener(window, 'load', load); 

working example

相關問題