Bu kılavuz kimler için hazırlanmıştır? Kamyon, otobüs veya diğer büyük ticari araçların sürücüleri için adım adım rota deneyimi oluşturmaktan sorumlu bir mobil geliştiriciyseniz bu kılavuzu okuyun.
Bu kılavuzun kapsamı: Bu kılavuzda, Routes API veya Route Optimization API tarafından oluşturulan kamyona özel bir rotanın nasıl alınacağı ve Android için Navigation SDK ile adım adım rota oturumunu desteklemek üzere nasıl kullanılacağı açıklanmaktadır.
Neler öğreneceksiniz?
Aşağıdaki görevleri nasıl yapacağınızı öğreneceksiniz:
- Arka uç rota planlamasını uygulama içi navigasyon deneyimine bağlamak için
routeTokenkullanın. - Önceden planlanmış bir kamyon rotasını kullanmak için Navigation SDK'yı yapılandırın.
- Navigasyon kullanıcı arayüzünde sürücüye kamyonlara özel kısıtlamaların nasıl gösterildiğini öğrenin.
Ön koşullar
Başlamadan önce aşağıdaki koşulları karşıladığınızdan emin olun:
1. Projeniz için erişim isteğinde bulunma
Büyük araç rotası, sınırlı sayıda müşteri tarafından kullanılabilir. Google Cloud projeniz için ilgi bildirmek ve erişim isteğinde bulunmak istiyorsanız iletişim formunu doldurun. Bir Google temsilcisi sonraki adımları açıklamak için sizinle iletişime geçecektir.
Google erişim izni verdikten sonra Google Cloud projenizin büyük araç rotası için temel hazırlığının yapıldığından emin olun.
Kuruluşunuz arka uç rota API'leri ve mobil Navigasyon SDK'sı için ayrı Google Cloud projeleri kullanıyorsa her bir projeyi sağlamak için Google ile iletişime geçin.
2. Arka uç rota oluşturma işlemini ayarlama ve rota jetonu alma
Cihazda navigasyonu başlatmadan önce arka uç sunucunuzun bir kamyon rotası oluşturması ve aşağıdaki API'lerden birini kullanarak routeToken alması gerekir:
- Routes API: Başlangıç ve hedef noktaları arasında tek kamyon rotalarını hesaplamak için önerilir. Kurulum talimatları için Büyük araç rotaları ve TVS'ler oluşturma başlıklı makaleyi inceleyin.
- Route Optimization API: Bir filodaki çok duraklı rotaları optimize etmek için önerilir. Daha fazla bilgi için Route Optimization API büyük araç rotası kılavuzuna bakın.
Arka uç isteğinizde travelMode: TRUCK ile birlikte aracın fiziksel özellikleri (yükseklik, genişlik, uzunluk, ağırlık, aks sayısı ve tehlikeli madde kargosu) belirtilmelidir. Rota API'si, yanıtında bir routeToken döndürür. Arka uç sunucunuz bu jetonu mobil uygulamanıza iletir.
3. Minimum SDK ve sistem gereksinimlerini karşılama
Uygulamanız, Navigation SDK'nın zorunlu olan minimum 5.2.0 veya sonraki bir sürümünü kullanmalıdır.Ayrıca projeniz standart Navigasyon SDK'sı kurulum koşullarını karşılamalıdır.
Sınırlamalar ve operasyonel yönergeler
Başlamadan önce aşağıdaki sınırlamaları ve operasyonel yönergeleri inceleyin:
- Coğrafi kullanılabilirlik: Büyük araç rotası, ABD'nin bitişik 48 eyaletinde (genel kullanıma sunulmuştur) ve Japonya'da (deneysel) kullanılabilir. Alaska, Hawaii veya ABD bölgelerinde kullanılamaz.
- Sürücü tavsiyesi ve güvenliği: Sürücüler, güvenli veya yasal olması için yalnızca Navigation SDK tarafından döndürülen rotalara güvenmemelidir. Rotalar, tüm yol koşullarında araç için uygun olmayabilir ve bu rotaları takip etmek, sürücüleri alçak geçitler veya ağırlık kısıtlaması olan yollar gibi tehlikelere maruz bırakabilir. Sürücüler her zaman dikkatli olmalı ve yol işaretleri ile yerel düzenlemelere uymalıdır.
- En iyi rotalar: Rota API'si, araç kısıtlamalarına tamamen uyan bir rota bulamadığında, kısıtlanmış segmentlerden geçebilecek "en iyi" rotayı döndürür. Örneğin, Routes API, yanıtında
routeRestrictionsPartiallyIgnoredişaretini ayarlar. Bu rotalarda gezinirken Navigasyon SDK'sı, ilgili kısıtlamaları vurgulamak için rota açıklama metinleri gösterir. Bu gibi durumlarda rotaları dikkatli bir şekilde planlayın ve planlama veya navigasyon için tek doğruluk kaynağı olarak işaretlenmiş bir rotayı kullanmayın. - Desteklenmeyen özellikler: Büyük araç rotası aşağıdaki özellikleri desteklemez:
- Kamyon geçiş ücreti fiyatlandırması
- Kamyon veya ağır araçlara özel hız sınırları
- Radyoaktif tehlikeli maddeler için rota belirleme
- Kullanım sınırları: Navigation SDK'ya gönderilen istekler, standart kullanım ve kota sınırlarına tabidir. Daha fazla bilgi için Kullanım ve faturalandırma başlıklı makaleyi inceleyin.
Kamyonlara özel kullanıcı arayüzünü (rota açıklama metinleri) gösterme
Navigation SDK, sürücüleri yaklaşan kamyon kısıtlamaları konusunda uyarmak için haritada otomatik olarak rota açıklama metinleri adı verilen görsel uyarılar gösterir. Açıklama metinleri, planlanan rota boyunca geçerli olan kısıtlamalar için gösterilir ancak yakındaki diğer yollarda gösterilmez.
Navigasyon SDK'sı, aşağıdaki kısıtlamalar için açıklama metinleri içerir:
| Kısıtlama | Açıklama metni simgesi ve metni | Görüntüleme koşulları |
|---|---|---|
| Boy |
Sarı = Uyarı, aracınız izin verilen maksimum yüksekliğe yakın
Kırmızı = Aracınız izin verilen maksimum yüksekliğin üzerinde |
Aracın yüksekliği kısıtlamaya yakın olduğunda sarı bir açıklama metni görünür.
Rota uygun değilse ve yükseklik kısıtlamasını ihlal ediyorsa kırmızı bir açıklama metni gösterilir.
|
| Ağırlık |
|
Aracın ağırlığı yolun sınırını aştığında kırmızı bir açıklama metni görünür.
|
| Kamyonlar Yasak |
|
Ticari kamyon kısıtlaması olan bir yol segmentinde seyahat ederken kırmızı bir açıklama metni görünür.
|
| Tehlikeli Maddeler |
|
Aracın tehlikeli madde yükünün bir yol segmentinde yasaklandığı durumlarda kırmızı bir açıklama metni görünür.
|
Rota jetonlarının işleyiş şekli
routeToken, Google'ın rota oluşturma arka ucu tarafından oluşturulan bir rotanın şifrelenmiş anlık görüntüsüdür. Planlanan rota geometrisinin yanı sıra aracın fiziksel boyutlarını ve kısıtlama profilini de kapsar.
İş akışı şu adımları izler:
- Rota isteği: Arka uç sunucunuz, Routes API'den (veya Route Optimization API'den) kamyon rotası ister.
- Jeton alma: Rota API'si, uyumlu rotayı hesaplar ve arka uç sunucunuza bir
routeTokendöndürür. - Jetonu yönlendirme: Arka uç sunucunuz,
routeTokenve hedef koordinatlarını mobil uygulamanıza iletir. - SDK'ya iletme: Mobil uygulama,
routeTokendeğerini Navigation SDK'ya iletir. - Rehberliği başlatma: Navigation SDK, adım adım deneyimin tüm yönlerini yönetir. Buna rota açıklama metinlerini oluşturma ve aracın kısıtlamalarına göre dinamik yeni rota çizme de dahildir.
Dinamik yeniden hesaplamalar ve yeni rota çizme
Etkin navigasyon sırasında trafik koşulları, kapalı yollar veya kaçırılan dönüşler, aracın planlanan rotadan sapmasına neden olabilir.
Yeni rota çizildiğinde:
- Navigasyon SDK'sı, varış noktasına giden rotayı otomatik olarak yeniden hesaplar.
- SDK, orijinal
routeTokeniçinde kodlanmış araç özelliklerini ve boyutlarını korur. - Yeniden hesaplanan yeni rota; alçak geçitlerden, ağırlık sınırlaması olan köprülerden ve ticari kamyonların girmesinin yasak olduğu yollardan kaçınır.
Uygulama: Kamyonlara özel bir gezi başlatma
Büyük araç rotası jetonuyla adım adım rotayı başlatmak için aşağıdaki adımları uygulayın.
1. Adım: Arka ucunuzdan rota jetonunu alın
Mobil uygulamanız, arka uç sunucunuzdan hedef koordinatlarıyla birlikte routeToken dizesini alır. Bu jetonu sunucunuzda oluşturmayla ilgili ayrıntılar için Routes API belgelerindeki Büyük araç rotaları ve TVS'ler oluşturma bölümüne bakın.
Aşağıdaki kod, örnek bir rota jetonudur:
{
"routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g"
}
2. adım: CustomRoutesOptions uygulamasını yapılandırın
Rota jetonunu CustomRoutesOptions.builder kullanarak bir CustomRoutesOptions örneğine iletin:
setRouteToken(routeToken)kullanarak jetonu iletin.setTravelMode(CustomRoutesOptions.TravelMode.DRIVING)kullanarak seyahat modunu ayarlayın.
3. adım: Yol noktalarını tanımlayın ve hedefleri belirleyin
Hedef yol noktalarınızı ve CustomRoutesOptions'i navigator.setDestinations'a geçirin.
Ara noktaları yapılandırırken ve özel rota seçeneklerini iletirken aşağıdaki hususları göz önünde bulundurun:
- Hedef eşleştirme koşulu:
setDestinationshizmetine iletilen hedef koordinatları,routeTokenoluşturulurken kullanılan hedef koordinatlarıyla eşleşmelidir. Farklı bir hedef belirtmek hataya neden olur. - Yol kenarı rotası: Büyük ticari araçlar dar sokaklarda kolayca U dönüşü yapamaz. Kamyonun hedefe yolun doğru tarafından yaklaşmasını sağlamak için ara noktalarınızda
setPreferSameSideOfRoad(true)yöntemini çağırın. - Araç mola yerleri: Kamyonu durmak veya yük boşaltmak için uygun bir yere yönlendirmek istiyorsanız ara noktalarınızda
setVehicleStopover(true)yöntemini çağırın. - Navigasyon noktaları: Varış noktanızda belirlenmiş bir yük girişi veya yükleme alanı varsa bunu navigasyon noktası jetonu kullanarak belirtin.
4. adım: Rota durumunu işleme ve rehberliği başlatma
ListenableResultFuture<Navigator.RouteStatus> üzerinde bir OnResultListener kaydedin. Rota durumu OK olduğunda,
etkin adım adım rotayı başlatmak için navigator.startGuidance yöntemini çağırın.
Kod örneği
Jetonu ayarlamak için CustomRoutesOptions.builder kullanın ve ardından navigator.setDestinations öğesine iletin.
// Obtain the routeToken string from your backend
val routeToken = "route token returned by Routes API"
val customRoutesOptions = CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(TravelMode.DRIVING)
.build()
// Specify the same destination used to create the route token
ArrayList <Waypoint> destinations = Lists.newArrayList();
val destination = Waypoint.builder()
.setLatLng(10.0, 20.0)
.setTitle("title")
.setVehicleStopover(true)
.build()
destinations.add(destination);
navigator.setDestinations(destinations, customRoutesOptions)
Araç içi ekranlar
Android Auto için Navigasyon'u kullanarak büyük araç navigasyon oturumunu araç içi ekranlara yansıtabilirsiniz.Sonraki adımlar
- Navigasyon kullanıcı arayüzünü değiştirme: Pusula, yeniden ortalama düğmesi ve kamera perspektifi gibi yerleşik kullanıcı arayüzü kontrollerini ve görsel öğeleri özelleştirin.
- Navigasyon etkinliklerini dinleme: Navigasyon güncellemelerini ve yaşam döngüsü olaylarını (ör. rota ilerleme durumu, TVS değişiklikleri ve yeni rota çizme) işleyin.