2011-11-29 13 views
12

Sto lavorando su un problema di instradamento del veicolo. Recentemente ho passato un po 'di tempo a passare attraverso l'API di Google Maps per vedere se riesco a stampare più percorsi sulla stessa mappa. Vorrei seguente: Route1: punto a, b, c, un percorso 2 punto a, d, e, f, un percorso 3 punto a, g, h, un e vorrei ogni percorso per avere una polilinea di colore diversa. Qualcuno può aiutarmi con questo.Utilizzo dell'API di Google Maps 3 per ottenere più percorsi su una mappa

risposta

23

Sì, questo è piuttosto semplice, una volta capito.

Si desidera utilizzare l'oggetto directionRenderer.

La cosa importante è che si desidera che tutti i percorsi siano impostati in serie, quindi si desidera eseguirne l'iterazione attraverso un ciclo. Creando ogni volta un nuovo oggetto directionSender e impostandolo ogni volta sulla mappa. All'interno del ciclo dovrai anche creare una nuova variabile polilinea che passi ogni volta con le direzioni a un colore diverso. Io uso di avere un codice che ha fatto questo, ma non so dove sia al momento.

Ecco un esempio di qualcuno che utilizza diverse polilinee di colore. :

http://www.geocodezip.com/violette_com_TestMap2c.html

Se ti concentri su queste due righe di codice sotto si vedrà come il colore polilinea è impostato e anche come viene passato al directionsRenderer.

directionsDisplayActual = new google.maps.DirectionsRenderer({suppressMarkers: true, polylineOptions: polylineOptionsActual}) 

var polylineOptionsActual = { 
     strokeColor: '#FF0000', 
     strokeOpacity: 1.0, 
     strokeWeight: 10 
     }; 

Waypoint Successivo per i vostri itinerari. :

http://code.google.com/apis/maps/documentation/javascript/examples/directions-waypoints.html

Un altro buon esempio.

var request = { 
    origin: start, 
    destination: end, 
    waypoints: waypts, 
    optimizeWaypoints: true, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
}; 
directionsService.route(request, function(response, status) { 

Se ci si concentra sul codice sopra nell'esempio google fornito si vedranno waypts var. Questo è il punto in cui verrà impostato il tuo indicatore intermedio (come dici il punto b). Lo farai facendo un waypts.push(.....). L'origine e la destinazione saranno il punto a e il punto b.

Non dovrebbe essere troppo difficile schiaffeggiare qualcosa insieme. Suggerirei di prendere un esempio di google più vicino alle tue esigenze e di passare a un progetto semplice e poi di costruirlo da lì.

+0

Grazie per la risposta. Sembra che questa sia ancora una singola rotta, solo con i waypoint. Sai se è possibile - ad esempio, avere una rotta utilizzando la distanza percorribile a piedi e una rotta utilizzando contemporaneamente la distanza di guida? –

+0

Non vedo perché non dovresti fare solo due percorsi diversi. Uno che viene instradato camminando e uno che è stato indirizzato alla guida, è necessario elaborare ciascuno di questi separatamente e posizionarli sulla mappa con polilinee diverse. –

+0

Sono d'accordo con @User Smith, ho usato le polilinee per costruire il mio percorso finale. Esempio qui https://code.google.com/p/gmaps-samples-v3/source/browse/trunk/io-2010-bootcamp/v3-polyline.html?r=111 – Purusartha

Problemi correlati