Pakiet Navigation SDK na Androida oferuje ulepszone sposoby określania punktów pośrednich, co zapewnia dokładniejsze wyznaczanie tras i lepsze wrażenia z dojazdu, zwłaszcza w przypadku miejsc docelowych z wieloma wejściami lub określonymi punktami dostępu. Możesz wyznaczać trasy do dokładnych lokalizacji, korzystając z navigationPointToken lub łącząc współrzędne geograficzne z identyfikatorem miejsca, aby uzyskać dodatkowy kontekst. Funkcja wyróżniania miejsca docelowego będzie nadal działać w stosownych przypadkach.
Tło
Przed wersją 7.4 można było zdefiniować Waypoint za pomocą współrzędnych geograficznych lub identyfikatora miejsca. Chociaż w większości przypadków jest to skuteczne, kierowanie wyłącznie na podstawie szerokości i długości geograficznej może czasami prowadzić do nieoptymalnych punktów odbioru lub dostawy, zwłaszcza w przypadku dużych obiektów, parków lub budynków z wieloma wejściami. Wynik może zostać przyciągnięty do najbliższego odcinka drogi, który nie musi być najwygodniejszym ani najdokładniejszym punktem dostępu.
Ulepszone opcje punktu pośredniego rozwiązują ten problem, ponieważ umożliwiają podanie większej ilości kontekstu.
Łączenie identyfikatora miejsca z długością i szerokością geograficzną
Od wersji 7.4 podczas tworzenia Waypoint możesz podać zarówno identyfikator miejsca, jak i współrzędne geograficzne. Ta metoda jest przydatna, gdy chcesz określić dokładny punkt (szerokość i długość geograficzną), a jednocześnie podać kontekst całego miejsca (identyfikator miejsca). Dzięki temu pakiet Navigation SDK może zapewnić lepsze wrażenia po dotarciu na miejsce, wyróżniając budynek docelowy lub pokazując pobliskie ciekawe miejsca powiązane z identyfikatorem miejsca.
// 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()
Uwagi:
Jeśli podasz zarówno placeId, jak i latlng:
- Trasa jest przeznaczona głównie dla określonego
latlng. placeIdsłuży jako kontekst, który zwiększa komfort przyjazdu.- Wycofanie: jeśli pakiet SDK stwierdzi, że podany atrybut
placeIdodpowiada funkcji, która jest zbyt oddalona od podanego atrybutulatlng, atrybutplaceIdzostanie zignorowany. W takim przypadku trasa będzie prowadzić tylko dolatlng, a ulepszenia dotyczące miejsca docelowego nie będą dostępne.
Używanie tokena punktu nawigacyjnego
Aby uzyskać jak najdokładniejsze wskazówki dojazdu do konkretnych punktów dostępu, takich jak wejścia, rampy załadunkowe czy wyznaczone miejsca odbioru, możesz użyć navigationPointToken. Ten token uzyskuje się przez wywołanie metody destinations interfejsu Geocoding API.
Reprezentuje konkretny punkt nawigacyjny powiązany z miejscem, do którego można wyznaczyć trasę.
Aby określić token punktu nawigacyjnego:
- Uzyskaj
navigationPointTokenz odpowiedzi metody Destinations interfejsu Geocoding API. - Utwórz
Waypointza pomocą metodysetNavigationPointToken()w konstruktorze.
Uwaga: podczas korzystania z parametru setNavigationPointToken() nie można jednocześnie używać parametrów setLatLng() ani setPlaceIdString(). Te metody wykluczają się wzajemnie z 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()
Podsumowanie prawidłowych konfiguracji punktów pośrednich
| Metoda | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
Działanie routingu | Wyróżnianie miejsca docelowego |
|---|---|---|---|---|---|
| Tylko LatLng | zestaw | brak | brak | Kieruje ruch do segmentu drogi najbliższego określonych współrzędnych | Nie jest wyświetlana |
| Tylko identyfikator miejsca | brak | zestaw | brak | Trasy do domyślnego punktu dostępu dla identyfikatora miejsca | Z identyfikatora miejsca |
| Tylko token punktu nawigacyjnego | brak | brak | zestaw | trasy do dokładnego punktu dostępu reprezentowanego przez token; | Z miejsca docelowego określonego w pierwotnym żądaniu metody destinations interfejsu Geocoding API |
| Połączenie LatLng i identyfikatora miejsca | zestaw | zestaw | brak | Kieruje ruch do segmentu drogi najbliższego określonych współrzędnych | Z identyfikatora miejsca, ale nie jest on wyświetlany, jeśli identyfikator miejsca jest zbyt daleko od współrzędnych geograficznych. |