Android 版 Navigation SDK 提供更完善的航點指定方式,可提供更準確的路線規劃和更優質的抵達體驗,特別是針對有多個入口或特定進入點的目的地。您可以透過 navigationPointToken 導向精確位置,也可以結合經緯度座標和地點 ID,提供更多背景資訊。如果適用,系統會繼續執行目的地醒目顯示功能。
背景
在 7.4 版之前,您可以使用經緯度座標或地點 ID 定義 Waypoint。雖然這項功能適用於大多數用途,但如果僅根據緯度和經度規劃路線,有時可能會導致下車或上車地點不理想,特別是大型場地、公園或有多個入口的建築物。結果可能會對齊最近的路段,但這可能不是最方便或正確的進入點。
加強型航點選項可提供更多背景資訊,解決這個問題。
結合地點 ID 與經緯度
從 7.4 版開始,建立 Waypoint 時,您可以同時提供地點 ID 和經緯度座標。如果您想指定精確點 (緯度/經度),同時提供整體地點的背景資訊 (地點 ID),這個方法就十分實用。這樣一來,Navigation SDK 就能醒目標註目的地建築物,或顯示與地點 ID 相關的附近景點,提供更豐富的抵達體驗。
// 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()
注意事項:
同時提供 placeId 和 latlng 時:
- 路線主要以指定的
latlng為目標。 - 系統會將「
placeId」做為脈絡資訊,提升抵達體驗。 - 回退:如果 SDK 判斷提供的
placeId對應的功能與指定的latlng差異過大,系統就會忽略placeId。在這種情況下,系統只會繼續前往latlng,且無法提供地點專屬的抵達體驗強化功能。
使用導覽點權杖
如要取得最精確的路線,前往入口、裝卸貨碼頭或指定取貨區等特定存取點,可以使用 navigationPointToken。呼叫 Geocoding API 的 destinations 方法即可取得這個權杖。代表與地點相關聯的特定可導航點。
如要指定導覽點權杖,請按照下列步驟操作:
- 從 Geocoding API 的 Destinations 方法回應中取得
navigationPointToken。 - 使用建構工具中的
setNavigationPointToken()方法建立Waypoint。
注意:使用 setNavigationPointToken() 時,無法同時使用 setLatLng() 或 setPlaceIdString()。這些方法與 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()
有效航點設定摘要
| 方法 | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
轉送行為 | 目的地醒目顯示 |
|---|---|---|---|---|---|
| 僅限 LatLng | set | 缺席 | 缺席 | 導向最接近所定義座標的路段 | 未顯示 |
| 僅限地點 ID | 缺席 | set | 缺席 | 地點 ID 預設存取點的路徑 | 起點地點 ID |
| 僅限導航點權杖 | 缺席 | 缺席 | set | 通往權杖所代表精確存取點的路徑 | 來自原始 Geocoding API 要求的 destinations 方法中定義的目的地 |
| LatLng 和地點 ID 組合 | set | set | 缺席 | 導向最接近所定義座標的路段 | 從 PlaceID 取得,但如果 PlaceID 距離 LatLng 太遠,則不會顯示 |