Büyük araç rotalarında gezinme

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 routeToken kullanı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:

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 routeRestrictionsPartiallyIgnored iş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ı renkli yükseklik kısıtlaması simgesi
Sarı = Uyarı, aracınız izin verilen maksimum yüksekliğe yakın
Kırmızı yükseklik kısıtlaması simgesi
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.
Yükseklik kısıtlaması uyarısı gösteren bir harita
Rota uygun değilse ve yükseklik kısıtlamasını ihlal ediyorsa kırmızı bir açıklama metni gösterilir.
Yükseklik kısıtlaması ihlalini gösteren harita
Ağırlık Ağırlık kısıtlaması simgesi Aracın ağırlığı yolun sınırını aştığında kırmızı bir açıklama metni görünür.
Ağırlık kısıtlaması simgesinin gösterildiği bir harita
Kamyonlar Yasak Kamyonların girmesi yasak simgesi Ticari kamyon kısıtlaması olan bir yol segmentinde seyahat ederken kırmızı bir açıklama metni görünür.
Kamyonların girmesinin yasak olduğunu gösteren bir simgenin yer aldığı harita
Tehlikeli Maddeler Tehlikeli maddeler simgesi Aracın tehlikeli madde yükünün bir yol segmentinde yasaklandığı durumlarda kırmızı bir açıklama metni görünür.
Tehlikeli madde simgesinin gösterildiği harita

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:

  1. Rota isteği: Arka uç sunucunuz, Routes API'den (veya Route Optimization API'den) kamyon rotası ister.
  2. Jeton alma: Rota API'si, uyumlu rotayı hesaplar ve arka uç sunucunuza bir routeToken döndürür.
  3. Jetonu yönlendirme: Arka uç sunucunuz, routeToken ve hedef koordinatlarını mobil uygulamanıza iletir.
  4. SDK'ya iletme: Mobil uygulama, routeToken değerini Navigation SDK'ya iletir.
  5. 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 routeToken iç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: setDestinations hizmetine iletilen hedef koordinatları, routeToken oluş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