Bazen uygulamanızın kullanıcılara sağladığı rotayı planlamak isteyebilirsiniz. Bir Routes API'deki (veya Routes Preferred API'si) rota jetonu, planladığınız rotayla ilgili iki şey:
Rota için çoklu çizgi
Rota hedefleriniz
Aşağıda, sahip olabileceğiniz yönlendirme hedeflerine ilişkin bazı örnekler verilmiştir:
Teslimat süresini en aza indirin: Gıda teslimatı yapan bir işletme gereken süreyi kısaltır.
Seyahat süresini veya yakıt tüketimini en aza indirme: Bir lojistik işletmesi, sürücülerinin verimliliğini artırıp yakıt maliyetlerini azaltabilir.
Hedefe ulaşma süresini en aza indirme: Bir hizmet dağıtım işlemi, operatörlerin iş isteğinde bulunması için gereken süreyi en aza indirmenize yardımcı olur.
Maliyetleri düşürün ve güvenliği artırın: Araç paylaşımı yapan bir işletme, yolcular için daha düşük maliyetli ve belirli güvenlik alanlarından kaçınan bir rota neden.
Rota jetonu kullanarak rota planlama hakkında daha fazla bilgi için bkz. Rota jetonu isteyin.
Rota hedefleri için neden rota jetonu kullanmalısınız?
Routes or Routes Preferred API'sinden gelen rota jetonuyla daha fazla sağlanan rota üzerinde kontrol sahibi olma:
Navigasyon SDK'sının kullanması için önceden bir rota planlayın değerlendirin.
Navigasyon SDK'sının kullanacağı en iyi rotayı seçin. Routes API'de rota oluştururken rota jetonları isterseniz oluşturulan her rota için bir rota jetonu alırsınız. Ardından jetonu seçebilirsiniz kullanmak istediğiniz rotanın Gezinme SDK'sı.
TVS ve mesafe tahminleri de dahil olmak üzere fiyatı önceden tahmin edin. Gerçek maliyet ve süre değişiklik gösterse de bu tahmin, projeyle elde edilen ve gerçek rota maliyetidir.
Eko rota veya en kısa rota gibi daha gelişmiş rota hedefleri belirtin yol gösterir.
Routes API rota jetonlarının işleyiş şekli
Routes API veya Routes Preferred API'yi kullanabilirsiniz. rota hedeflerini kullanarak rota planlamaktır. Routes API, bir gezinme SDK'sına iletebileceğiniz yönlendirme jetonu aracınızı yönlendirir.
Rotalar API'si:
Routes API, rotayı içeren şifrelenmiş bir rota jetonu döndürür çoklu çizgi ve rota hedefleridir.
Rota jetonunu Gezinme SDK'sına iletirsiniz.
Gezinme SDK'sı rotayı alıyor veya rota koşullar nedeniyle kullanılabilir, ancak en iyi eşleşmeyi yol gösterir.
Rotayı sürerken, trafik veya diğer yol koşulları değişirse veya Bir araç planlanan rotadan sapıyorsa, değiştirilen rotalar sürekli olarak en iyi rotayı jetondaki hedeflere göre eşleştirmeye çalışın.
Bu işlem, gerçek rotanın planladığınız rotaya ne kadar yakın olduğunu en üst düzeye çıkarır.
Planlanan bir rotanın tam olarak izlenmemesinin olası nedenleri
Planlanan rotanızı ve rota hedeflerinizi, uyulması gereken yönergeler olarak düşünün: belirleyici değildir. Planladığınız rota ile rotanız arasındaki fark, yoldaki farklılıklardan dolayı rehberli navigasyon tarafından sağlanan rota koşulları, başlangıç konumunu veya siz değişikliği yaptıktan sonra değişen diğer parametreler planlanan rotayı oluşturmuştur. Bu fark, proje ekibinin diğer önemli seyahatlerin yanı sıra mesafe ve TVS için planladığınız ve gerçek hedefleriniz nitelikleridir.
Rota jetonu kullanarak rota planlama
Bir rota jetonu oluşturup bu jetonu Gezinme SDK'sı, aşağıdaki adımlarda açıklandığı gibi):
1. Adım: Routes or Routes Preferred API'sini kullanarak bir rota jetonu oluşturun
Aşağıdaki yöntemlerden birini kullanarak rota jetonu isteyin:
Routes API:
computeRoutes
. Daha fazla bilgi için Routes API'de rota jetonu isteme hakkında daha fazla bilgi için Bir rota hesaplayın ve Rota jetonu isteyin.Routes Preferred API:
computeCustomRoutes
. Daha fazla bilgi için Routes Preferred API'sinde rota jetonu istediğinizde Rota planlayın.
Rota kullanımına ilişkin gereksinimleri karşılamak için rota isteğinizi ayarlayın jeton:
travel_mode
değeriniDRIVING
olarak ayarlarouting_preference
değeriniTRAFFIC_AWARE
veyaTRAFFIC_AWARE_OPTIMAL
olarak ayarlayın- Via ara noktaları KULLANMAYIN
2. Adım: Rota jetonunu Navigation SDK'sına iletin
Rota jetonunu depolama: Navigasyon SDK'sında bir dize kullanması gerekir. Örneğin:
String routeToken = "route token returned by Routes API";
Döndürülen rota jetonu örneği:
{ // Other fields "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g", }
Rota jetonunu Aynı hedefi belirten
Navigator.setDestinations
yöntemi rota jetonunu oluştururken kullandığınız ara noktalar:setDestinations(List
destinations, CustomRoutesOptions customRoutesOptions, DisplayOptions displayOptions); Örneğin:
CustomRoutesOptions customRoutesOptions = CustomRoutesOptions.builder() .setRouteToken(routeToken) .build();
Navigator.setDestinations
yöntemi, isteğin durumunu döndürür.
Aracın konumundan belirtilen hedefe giden bir rota bulursa
RouteStatus.OK
sonucunu döndürür.
Bu yöntemle ilgili daha fazla bilgi için
Navigator.setDestinations
.
Örnek
Aşağıdaki kod örneğinde, rota jetonudur.
ArrayList <Waypoint> destinations = Lists.newArrayList();
Waypoint waypoint1 =
Waypoint.builder()
.setLatLng(10, 20)
.setTitle("title")
.setVehicleStopover(true)
.build();
destinations.add(waypoint1);
Waypoint waypoint2 =
Waypoint.builder()
.setPlaceId("ChIJYV-J-ziuEmsRIMyoFaMedU4")
.setTitle("title")
.setVehicleStopover(true)
.build()
destinations.add(waypoint2);
String routeToken = "route token returned by Routes API";
CustomRoutesOptions customRoutesOptions =
CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(CustomRoutesOptions.TravelMode.TWO_WHEELER)
.build();
// Existing flow to get a Navigator.
NavigationApi.getNavigator(...);
// Existing flow for requesting routes.
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions);
// Or with display options.
DisplayOptions displayOptions = new DisplayOptions();
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions, displayOptions);
Rota jetonları ve Navigasyon SDK'sı nasıl etkileşimde bulunur?
Gezinme SDK'sı ve planlanan rota tarafından oluşturulan rotanın rota jetonunda rota etkileşimi:
Önceden ayarlanmış hedefleri geçersiz kılar.
Aracın başlangıç konumunu kullanır.
Yol ve trafik koşullarına göre ayarlanır. Görüntüleyin Planlanan bir rotanın tam olarak izlenmemesinin olası nedenleri
Gerektiğinde olmayan aşağıdaki yönlendirmeyle ilgili seçenekleri yok sayar:
avoidsHighways
avoidsTolls
avoidsFerries
licensePlateRestriction
Takipler:
Yolun kenar tercihi gibi ara noktayla ilgili seçenekler.
Rota hedefleri. Gezinme SDK'sının döndüren rotayı ayarlamak için, rota jetonu isteme. Bu nedenle, Routes API'de belirttiğiniz ara noktayla ilgili seçenekler