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:
- Ottieni un
navigationPointTokendal metodo Destinations dell'API Geocoding response. - Crea un
Waypointutilizzando il metodosetNavigationPointToken()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
latlngspecificato. placeIdviene utilizzato come contesto per migliorare l'esperienza di arrivo.- Fallback:se l'SDK determina che
placeIdfornito corrisponde a una funzionalità troppo distante dalatlngspecificato,placeIdverrà ignorato. In questo scenario, il percorso proseguirà solo fino alatlnge 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 |