dla tych tha t muszą przykład jak ja, tutaj jest jeden podstawowy:
// 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
});
}
Odpowiedź z żądania trasy powraca nogę (y) w zależności od liczby przystanków na trasie. Robię tylko trasę od A do B, więc weź pierwszą nogę i zdobądź pozycję, gdzie znaczniki muszą się udać, i utwórz znaczniki dla tych miejsc.
A co ze zmianą znaczników w samych kierunkach? – Jason
Tak, miłe pytanie! – keatch
Dodałem funkcję, aby wyczyścić wszystkie znaczniki przed obliczeniem kierunków po raz drugi. Zobacz też https://developers.google.com/maps/documentation/javascript/examples/marker-remove – lmeurs