Android için Navigasyon SDK'sı, ara noktaları belirtmek için gelişmiş yöntemler sunar. Bu sayede, özellikle birden fazla girişi veya belirli erişim noktaları olan hedefler için daha doğru rota oluşturma ve daha iyi bir varış deneyimi sağlanır. navigationPointToken kullanarak veya enlem ve boylam koordinatlarını yer kimliğiyle birleştirerek daha fazla bağlam için kesin konumlara yönlendirme yapabilirsiniz. Gerekirse hedef vurgulama özelliği kullanılmaya devam eder.
Arka plan
v7.4'ten önce, enlem ve boylam koordinatları ya da yer kimliği kullanarak Waypoint tanımlayabiliyordunuz. Çoğu kullanım alanı için etkili olsa da yalnızca enlem ve boylama yönlendirme bazen, özellikle büyük mekanlar, parklar veya birden fazla girişi olan binalar için ideal olmayan bırakma veya alma noktalarına yol açabilir. Sonuç, en yakın yol segmentine sabitlenebilir. Bu segment, en uygun veya doğru erişim noktası olmayabilir.
Gelişmiş rota noktası seçenekleri, daha fazla bağlam bilgisi sağlanmasına olanak tanıyarak bu sorunu giderir.
Yer Kimliği ile enlem ve boylamı birleştirme
v7.4'ten itibaren Waypoint oluştururken hem yer kimliği hem de enlem ve boylam koordinatları sağlayabilirsiniz. Bu yöntem, genel yerin bağlamını (yer kimliği) sağlamaya devam ederken kesin bir nokta (enlem/boylam) belirtmek istediğinizde kullanışlıdır. Bu sayede Navigation SDK, hedef binayı vurgulayarak veya yer kimliğiyle ilgili yakındaki ilgi çekici yerleri göstererek daha zengin bir varış deneyimi sunabilir.
// 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()
Dikkat etmeniz gereken noktalar:
Hem placeId hem de latlng sağladığınızda:
- Rota öncelikle belirtilen
latlnghedefliyor. placeId, varış deneyimini iyileştirmek için bağlam olarak kullanılır.- Yedek: SDK, sağlanan
placeIdöğesinin, verilenlatlngöğesinden çok uzak bir özelliğe karşılık geldiğini belirlerseplaceIdöğesi yoksayılır. Bu senaryoda yönlendirme yalnızcalatlngkonumuna yapılır ve yere özel varış deneyimi geliştirmeleri kullanılamaz.
Gezinme noktası jetonu kullanma
Girişler, yükleme rampaları veya belirlenmiş teslim alma alanları gibi belirli erişim noktalarına en doğru şekilde yönlendirme için navigationPointToken kullanabilirsiniz. Bu jeton, Geocoding API'nin destinations yöntemi çağrılarak elde edilir.
Bir yerle ilişkili belirli bir yönlendirilebilir gezinme noktasını temsil eder.
Bir gezinme noktası jetonu belirtmek için:
- Geocoding API'nin Destinations yönteminin yanıtından
navigationPointTokenalın. - Oluşturucuda
setNavigationPointToken()yöntemini kullanarakWaypointoluşturun.
Not: setNavigationPointToken() kullanırken aynı anda setLatLng() veya setPlaceIdString() kullanamazsınız. Bu yöntemler setNavigationPointToken() ile birlikte kullanılamaz.
// 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()
Geçerli Rota Noktası Yapılandırmalarının Özeti
| Yöntem | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
Yönlendirme davranışı | Hedef vurgulama |
|---|---|---|---|---|---|
| Yalnızca LatLng | grup | yok | yok | Tanımlanan koordinatlara en yakın yol segmentine giden rotalar | Gösterilmedi |
| Yalnızca yer kimliği | yok | grup | yok | Yer kimliği için varsayılan erişim noktasına giden rotalar | Yer kimliğinden |
| Yalnızca Gezinme Noktası Jetonu | yok | yok | grup | Jetonla temsil edilen tam erişim noktasına giden rotalar | Orijinal Geocoding API'nin hedef yönteminde tanımlanan hedeften |
| LatLng ve Yer Kimliği Birleştirilmiş | grup | grup | yok | Tanımlanan koordinatlara en yakın yol segmentine giden rotalar | PlaceID'den (PlaceID, LatLng'den çok uzaksa gösterilmez) |