Ich habe an einem Open Source Street View Player gearbeitet (http://StreetViewPlayer.org), und ich habe eine Frage bezüglich des Hinzufügens eines neuen Punktes zu einem neue Richtung.Wie kann ich benachrichtigt werden, wenn der Benutzer beim Addieren eines neuen Punktes in eine Richtung die 8 Wegpunktbegrenzung erreicht?
Wenn der Benutzer einen neuen Standort hinzufügt, muss ich wissen, ob der Benutzer die Begrenzung von 8 Wegpunkten erreicht hat.
Gibt es eine Möglichkeit, benachrichtigt zu werden?
Kann mir jemand einen Einblick geben?
Hier ist ein einfacher Code, dies zu veranschaulichen (mehrere Punkte hinzufügen, bis Sie die 8 Wegpunkte Einschränkungen erreichen):
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 35.694346, lng: -79.796409},
zoom: 13
});
var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer({
draggable: true,
map: map
});
directionsDisplay.setMap(map);
directionsService.route({
origin: {lat: 35.694346, lng: -79.796409},
destination: {lat: 34.964737, lng: -80.060434},
waypoints: [
{location: {lat: 35.559346, lng: -80.089850}, stopover: true},
{location: {lat: 35.356588, lng: -79.899915}, stopover: true},
],
optimizeWaypoints: false,
travelMode: google.maps.TravelMode.DRIVING
}, function(response, status) {
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
} else {
window.alert('Directions request failed due to ' + status);
}
});
function show(v) {
if (v != undefined)
console.log("new waypoint is # " + v);
}
directionsDisplay.addListener('directions_changed', function() {
var newDir = directionsDisplay.getDirections();
console.log(newDir);
show(newDir.request.Xc);
show(newDir.request.Yc);
show(newDir.request.Uc);
show(newDir.request.Vc);
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap"
async defer></script>
</body>
</html>
Die Frage war: Gibt es eine Möglichkeit benachrichtigt werden? Und wenn ich etwas nicht verpasse, wird das Ereignis "directions_changed" nicht ausgelöst, wenn ein 9. Wegpunkt vorläufig zur Richtung hinzugefügt wird. – Olivier
Der 'directions_changed' wird jedes Mal ausgelöst, wenn ein 9. Wegpunkt hinzugefügt wird. – geocodezip