Das Navigation SDK für Android bietet erweiterte Möglichkeiten zum Angeben von Wegpunkten. So können Sie genauere Routen erstellen und die Ankunft am Zielort optimieren, insbesondere bei Zielen mit mehreren Eingängen oder bestimmten Zugangspunkten. Sie können die Routenplanung zu genauen Standorten mit einem navigationPointToken oder durch die Kombination von Breiten- und Längengraden mit einer Orts-ID für zusätzlichen Kontext durchführen. Die Funktion zum Hervorheben des Zielorts wird gegebenenfalls weiterhin ausgeführt.
Hintergrund
Vor Version 7.4 konnten Sie einen Waypoint entweder mit Breiten- und Längengradkoordinaten oder mit einer Orts-ID definieren. Die Weiterleitung nur an einen Breiten- und Längengrad ist zwar für die meisten Anwendungsfälle effektiv, kann aber manchmal zu suboptimalen Abhol- oder Absetzorten führen, insbesondere bei großen Veranstaltungsorten, Parks oder Gebäuden mit mehreren Eingängen. Das Ergebnis wird möglicherweise an das nächstgelegene Straßensegment angedockt, das nicht der günstigste oder richtige Zugangspunkt sein muss.
Die erweiterten Wegpunktoptionen bieten hier Abhilfe, da sie mehr Kontext ermöglichen.
Orts-ID und Breiten- und Längengrad kombinieren
Ab Version 7.4 können Sie beim Erstellen eines Waypoint sowohl eine Orts-ID als auch Breiten- und Längengradkoordinaten angeben. Diese Methode ist nützlich, wenn Sie einen genauen Punkt (Breiten-/Längengrad) angeben und gleichzeitig den Kontext des gesamten Orts (die Orts-ID) bereitstellen möchten. So kann das Navigation SDK die Ankunft besser gestalten, indem es das Zielgebäude hervorhebt oder Sehenswürdigkeiten in der Nähe anzeigt, die mit der Orts-ID verknüpft sind.
// Assuming 'placeId' is the Place ID String
// Assuming 'lat' and 'lng' are the double values for latitude and longitude
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithPlaceIdAndLatLng = Waypoint.builder()
.setTitle(destinationName)
.setPlaceIdString(placeId)
.setLatLng(lat, lng)
.build();
// Use this waypoint in navigator.setDestinations()
Wichtige Hinweise:
Wenn Sie sowohl placeId als auch latlng angeben:
- Die Route ist hauptsächlich auf die angegebene
latlngausgerichtet. - Die
placeIdwird als Kontext verwendet, um die Ankunft zu optimieren. - Fallback:Wenn das SDK feststellt, dass die angegebene
placeIdzu weit von der angegebenenlatlngentfernt ist, wird dieplaceIdignoriert. In diesem Fall wird die Navigation nur zumlatlngfortgesetzt und die ortsspezifischen Verbesserungen für die Ankunft sind nicht verfügbar.
Navigationspunkt-Token verwenden
Für die genaueste Routenführung zu bestimmten Zugangspunkten wie Eingängen, Laderampen oder ausgewiesenen Abholbereichen können Sie einen navigationPointToken verwenden. Dieses Token wird durch Aufrufen der destinations-Methode der Geocoding API abgerufen.
Er stellt einen bestimmten, routingfähigen Navigationspunkt dar, der mit einem Ort verknüpft ist.
So geben Sie ein Navigationspunkt-Token an:
- Rufen Sie einen
navigationPointTokenaus der Antwort der Destinations-Methode der Geocoding API ab. - Erstellen Sie mit der Methode
setNavigationPointToken()im Builder einWaypoint.
Hinweis:Wenn Sie setNavigationPointToken() verwenden, können Sie nicht gleichzeitig setLatLng() oder setPlaceIdString() verwenden. Diese Methoden schließen sich gegenseitig mit setNavigationPointToken() aus.
// Assuming 'navPointToken' is a String obtained from the destinations method of the Geocoding API
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithToken = Waypoint.builder()
.setTitle(destinationName)
.setNavigationPointToken(navPointToken)
.build();
// Use this waypoint in navigator.setDestinations()
Zusammenfassung der gültigen Wegpunktkonfigurationen
| Methode | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
Routingverhalten | Hervorhebung des Ziels |
|---|---|---|---|---|---|
| Nur LatLng | set | nicht vorhanden | nicht vorhanden | Routen zum Straßenabschnitt, der den definierten Koordinaten am nächsten liegt | Nein |
| Nur Orts-ID | nicht vorhanden | set | nicht vorhanden | Routen zum Standardzugangspunkt für die Orts-ID | Von PlaceID |
| Nur Token für Navigationspunkt | nicht vorhanden | nicht vorhanden | set | Routen zum genauen Zugriffspunkt, der durch das Token dargestellt wird | Vom Zielort, der in der ursprünglichen Anfrage der destinations-Methode der Geocoding API definiert ist |
| LatLng und Place ID kombiniert | set | set | nicht vorhanden | Routen zum Straßenabschnitt, der den definierten Koordinaten am nächsten liegt | Über PlaceID, wird aber nicht angezeigt, wenn die PlaceID zu weit von LatLng entfernt ist |