Erişim noktalarına yönlendirme

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 latlng hedefliyor.
  • placeId, varış deneyimini iyileştirmek için bağlam olarak kullanılır.
  • Yedek: SDK, sağlanan placeId öğesinin, verilen latlng öğesinden çok uzak bir özelliğe karşılık geldiğini belirlerse placeId öğesi yoksayılır. Bu senaryoda yönlendirme yalnızca latlng konumuna 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:

  1. Geocoding API'nin Destinations yönteminin yanıtından navigationPointToken alın.
  2. Oluşturucuda setNavigationPointToken() yöntemini kullanarak Waypoint oluş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)