per coloro tha t bisogno di un esempio come ho fatto io, ecco una base uno:
// Map and directions objects
var map = new google.maps.Map(element, options);
var service = new google.maps.DirectionsService();
var directions = new google.maps.DirectionsRenderer({suppressMarkers: true});
// Start/Finish icons
var icons = {
start: new google.maps.MarkerImage(
// URL
'start.png',
// (width,height)
new google.maps.Size(44, 32),
// The origin point (x,y)
new google.maps.Point(0, 0),
// The anchor point (x,y)
new google.maps.Point(22, 32)
),
end: new google.maps.MarkerImage(
// URL
'end.png',
// (width,height)
new google.maps.Size(44, 32),
// The origin point (x,y)
new google.maps.Point(0, 0),
// The anchor point (x,y)
new google.maps.Point(22, 32)
)
};
service.route({ origin: origin, destination: destination }, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
display.setDirections(response);
var leg = response.routes[ 0 ].legs[ 0 ];
makeMarker(leg.start_location, icons.start, "title");
makeMarker(leg.end_location, icons.end, 'title');
}
});
function makeMarker(position, icon, title) {
new google.maps.Marker({
position: position,
map: map,
icon: icon,
title: title
});
}
La risposta da una richiesta percorso restituisce una gamba (s) a seconda del numero di fermate lungo il percorso. Sto solo facendo un percorso da A a B, quindi prendi la prima tappa e ottieni la posizione in cui i marcatori devono andare e crea dei segnalini per quei punti.
fonte
2011-03-04 22:18:21
Che ne dici di cambiare i marker all'interno delle direzioni stesse? – Jason
Sì, bella domanda! – keatch
Ho aggiunto funzionalità per cancellare tutti i marcatori prima di calcolare le direzioni per una seconda volta. Vedi anche https://developers.google.com/maps/documentation/javascript/examples/marker-remove – lmeurs