Der folgende Code zeigt zwei Punkte in der Karte und zeichnet den treibenden Pfad zwischen diesen Punkten. Was ich versuche zu erreichen, ist, wenn ich einen Punkt bewege, sollte er den Marker bewegen und den Pfad neu zeichnen. Wie kann ich das machen? Ich schätze alle Hinweise. Vielen Dank.Verschieben von Markierungen und Neuzeichnen von Pfad mit Verschieben Google Maps
function mapLocation() {
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var istanbul = new google.maps.LatLng(41.015137, 28.979530);
var mapOptions = {
zoom: 7,
center: istanbul
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);
calcRoute();
}
function calcRoute() {
var start = new google.maps.LatLng(41.01524, 28.975994);
//var end = new google.maps.LatLng(38.334818, -181.884886);
var end = new google.maps.LatLng(41.013232, 28.978676);
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
directionsDisplay.setMap(map);
} else {
alert("Directions Request from " + start.toUrlValue(6) + " to " + end.toUrlValue(6) + " failed: " + status);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
}
mapLocation();
Eine Frage: Wie kann ich den Abstand zwischen den Punkten erkennen, wenn ich den Standort eines Punktes ändere? Während das Laden dieses Codes hilft: 'alert (response.routes [0] .legs [0] .distance.value +" meter ");' Aber es tut nichts, wenn sich die Position von Punkten ändert. – jason
Um genauer zu sein, wie kann ich die neuen Punkte lokalisieren? Vielen Dank. – jason
Der [DirectionsRenderer] (https://developers.google.com/maps/documentation/javascript/3.exp/reference?hl=fr#DirectionsRenderer) hat ein Ereignis "directions_changed", das * ausgelöst wird, wenn sich die gerenderten Wegbeschreibungen ändern. Entweder wenn ein neues 'DirectionsResult' gesetzt ist oder wenn der Benutzer eine Änderung in den Routenpfad zieht. * – MrUpsidown