Ich suche eine Wegbeschreibung zwischen zwei Punkten zu erstellen, wenn einer oder beide Punkte keine Straße direkt dazu haben, aber in der Nähe. Wenn Sie beispielsweise den DirectionsService verwenden, versuchen Sie, zwischen Moab, UT und Zion National Park, UT eine Fahrstrecke zu erstellen. Sie erhalten Zero_Results zurück, da es keine Straße zum CENTER gibt (der lat, lng, der von google zurückgegeben wurde) Zion Nation Park. Wenn Sie das gleiche auf google.com/maps tun, sehen Sie eine Fahrstrecke von Moab zum Osteingang des Zion National Park und einen Spaziergang zum Zentrum des Parks (wo die Nadel platziert ist). Wie haben sie festgestellt, wohin der Zion-Nationalpark fahren soll?Google Wegbeschreibungen zur nächsten Straße
0
A
Antwort
1
Wenn Sie reverse geocode die Koordinaten zurückgegeben durch den Geocoder für Zion National Park (37.2982022, -113.0263005), wird das erste Ergebnis der nächste Ort auf der Straße sein.
Code-Schnipsel:
var geocoder;
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var start = "Moab, UT";
directionsDisplay.setMap(map);
geocodeAddress("Zion National Park", start);
}
function geocodeAddress(address, start) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
'address': address
}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
geocoder.geocode({
'location': results[0].geometry.location
}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
calculateAndDisplayRoute(start, results[0].geometry.location)
} else {
window.alert('Reverse Geocode failed due to: ' + status);
}
});
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
function calculateAndDisplayRoute(start, end) {
directionsService.route({
origin: start,
destination: end,
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);
}
});
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map_canvas"></div>
Verwandte Themen
- 1. Google Maps HTTP API für Wegbeschreibungen und Wegbeschreibungen
- 2. Google Maps API V3 - Markieren Sie eine einzelne Straße/Straße
- 3. Mapbox GL - Hinzufügen von Wegbeschreibungen zur Karte
- 4. Api google maps - Wegbeschreibungen Service Antwort
- 5. Öffnen von Wegbeschreibungen in Google Maps direkt
- 6. Google Maps Wegbeschreibungen ändern, Strichfarbe ändern?
- 7. Stil/entfernen Google Karte Straße Richtungspfeile
- 8. Suche die Straße mit Google map api
- 9. Wechsel zur nächsten Spalte
- 10. Entfernen von Anfangs- und Endmarkierungen von Google Maps Wegbeschreibungen
- 11. "Wegbeschreibungen nicht verfügbar" aufrufen Google Maps mit URLWithString
- 12. Google Maps API-Rendering nach dem Abrufen von Wegbeschreibungen Ausgabe
- 13. Starten Sie Google Maps-Anwendung für Wegbeschreibungen in Android
- 14. Erhalten Sie Routen und Wegbeschreibungen von Google Maps ohne Javascript?
- 15. Vorgehensweise: Wegbeschreibungen vergrößern, beim ersten Laden mit Google Maps?
- 16. Ionic Google Map mit Wegbeschreibungen (Route) und Entfernung
- 17. NASM zur nächsten Zeile drucken
- 18. Textfeld Scrollen zur nächsten Zeile
- 19. Bootstrap - geht zur nächsten Spalte
- 20. Markieren einer Straße auf Google-Karte in Android
- 21. Load Kml-Datei auf Google Maps innerhalb der Straße View
- 22. Erste Straße, Stadt und Land durch Reverse Geocoding google mit
- 23. Straße identifizieren basierend auf Benutzer-Standort mit Google Karte Javascript
- 24. Android - Mein Standort erscheint außerhalb der Straße mit Google Maps
- 25. UK PLZ Nicht zurückgebende Straße
- 26. Openlayers Name der Straße rotieren
- 27. Google Maps Entfernung zur Meeresküste
- 28. Hervorhebung ganze Straße mit einigen Karten API
- 29. css - padding ausbreitende zur nächsten Spalte
- 30. Java-Datumssprung zur nächsten 10. Minute
Willkommen bei Stackoverflow! Für Ihre Frage, welche Art von Ansätzen/Algorithmen haben Sie versucht? Die Leute hier sind froh zu helfen, aber wir wollen nicht unbedingt die Forschung/Codierung für Sie tun. Sie erhalten großartige Antworten, wenn Sie zeigen, welche Forschung/Ansätze Sie bereits ausprobiert haben usw. – Castaglia
Ich möchte keinen Code. Ich habe eine Menge geschrieben, um es herauszufinden. Ich bin mehr auf der Suche nach einer Idee, wie man das macht. Soweit ich das beurteilen kann, gibt es in der API keine Möglichkeit, dem RouteService mitzuteilen, dass er beim Erstellen eines Laufwerks die nächstgelegene Straße finden soll. Dies bedeutet, dass eine benutzerdefinierte Lösung benötigt wird. Ich habe versucht, die nahegelegene Suche mit einem angemessenen Radius zu verwenden, aber das Problem dort ist, dass Sie nicht wirklich wissen, welcher Endpunkt ZERO_RESULTS verursacht. Ich versuche nur herauszufinden, ob es eine Anforderungsoption gibt, die ich verpasst habe oder ob jemand eine gute Idee hat, wie das geht. Dafür ist kein Code erforderlich. –