Percorso verso i punti di navigazione

L'SDK Navigation per Android offre modi avanzati per specificare i waypoint, fornendo un percorso più preciso e una migliore esperienza di arrivo, soprattutto per destinazioni con più ingressi o punti di navigazione specifici. Puoi raggiungere posizioni precise utilizzando un navigationPointToken o combinando le coordinate di latitudine e longitudine con un ID luogo per un contesto più completo. La funzionalità di evidenziazione della destinazione continuerà a essere eseguita, se applicabile.

Sfondo

Prima della versione 7.4, era possibile definire un Waypoint utilizzando le coordinate di latitudine e longitudine o un ID luogo. Sebbene a volte efficace, l'instradamento solo a una latitudine e una longitudine può talvolta portare a punti di partenza o arrivo non ottimali, in particolare per grandi sedi, parchi o edifici con più ingressi. Il risultato potrebbe agganciarsi al segmento stradale più vicino, che potrebbe non essere il punto di navigazione più comodo o corretto.

Le opzioni avanzate per i waypoint risolvono questo problema consentendo di fornire più contesto.

Utilizzare un token punto di navigazione

Per un percorso più preciso verso punti di navigazione specifici come ingressi, banchine di carico o aree di ritiro designate, puoi utilizzare un navigationPointToken. Questo token viene ottenuto chiamando il metodo destinations dell'API Geocoding. Rappresenta un punto di navigazione specifico e instradabile associato a un luogo.

Per specificare un token punto di navigazione:

  1. Ottieni un navigationPointToken dal metodo Destinations dell'API Geocoding response.
  2. Crea un Waypoint utilizzando il metodo setNavigationPointToken() nel generatore.

Nota:quando utilizzi setNavigationPointToken(), non puoi utilizzare contemporaneamente setLatLng() o setPlaceIdString(). Questi metodi si escludono a vicenda con setNavigationPointToken().

// 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()

Combinare l'ID luogo con la latitudine e la longitudine

A partire dalla versione 7.4, puoi fornire sia un ID luogo sia le coordinate di latitudine e longitudine quando crei un Waypoint. Questo metodo è utile quando vuoi specificare un punto preciso (latitudine/longitudine) fornendo comunque il contesto del luogo complessivo (l'ID luogo). In questo modo, l'SDK Navigation può offrire un'esperienza di arrivo più ricca mettendo in evidenza l'edificio della destinazione o mostrando i punti d'interesse nelle vicinanze correlati all'ID luogo.

// 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()

Considerazioni

Quando fornisci sia placeId che latlng:

  • Il percorso ha come target principale il latlng specificato.
  • placeId viene utilizzato come contesto per migliorare l'esperienza di arrivo.
  • Fallback:se l'SDK determina che placeId fornito corrisponde a una funzionalità troppo distante da latlng specificato, placeId verrà ignorato. In questo scenario, il percorso proseguirà solo fino a latlng e i miglioramenti dell'esperienza di arrivo specifici per il luogo non saranno disponibili.

Riepilogo delle configurazioni di waypoint valide

Metodo setLatLng() setPlaceIdString() setNavigationPointToken() Comportamento di routing Evidenziazione della destinazione
Solo coordinate di latitudine/longitudine imposta assente assente Percorsi per il segmento di strada più vicino alle coordinate definite Visualizzato se la destinazione può essere dedotta con un'alta confidenza
Solo ID luogo assente imposta assente Percorsi verso il punto di navigazione predefinito per l'ID luogo ID luogo di partenza
Solo token del punto di navigazione assente assente imposta Percorsi verso il punto di navigazione preciso rappresentato dal token Dalla destinazione definita nel metodo destinations originale dell'API Geocoding
Coordinate di latitudine/longitudine e ID luogo combinati imposta imposta assente Percorsi per il segmento di strada più vicino alle coordinate definite Dall'ID luogo, anche se non viene mostrato se l'ID luogo è troppo lontano dalle coordinate di latitudine/longitudine