Büyük araç rotalarında gezinme

Bu rehber kimler için uygundur? Kamyon, otobüs veya diğer büyük ticari araç sürücüleri için adım adım yol tarifi deneyimi oluşturmaktan sorumlu bir mobil geliştiriciyseniz bu rehberi okuyun.

Bu kılavuzda ele alınan konular: Bu kılavuzda, Routes API veya Route Optimization API tarafından oluşturulan ve Android için Navigation SDK ile adım adım navigasyon oturumunu desteklemek üzere kullanılan kamyona özel rotaların 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 gezinme deneyimine bağlamak için routeToken kullanın.
  • Önceden planlanmış bir kamyon rotası kullanmak için Navigation SDK'yı yapılandırın.
  • Kamyona özel kısıtlamaların sürücüye navigasyon kullanıcı arayüzünde nasıl göründüğünü anlayın.

Ö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. İlginizi belirtmek ve Google Cloud projenize erişim isteğinde bulunmak için iletişim formunu doldurun. Bir Google temsilcisi sizinle iletişime geçerek sonraki adımlar hakkında bilgi verir.

Google erişim izni verdikten sonra Google Cloud projenizin büyük araç rotası oluşturma için sağlandığından emin olun.

Kuruluşunuz arka uç yönlendirme API'leri ve mobil Navigasyon SDK'sı için ayrı Google Cloud projeleri kullanıyorsa her projeyi sağlamak üzere Google ile iletişime geçin.

2. Arka uç rota oluşturmayı ayarlama ve rota jetonu edinme

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, aracın fiziksel özellikleriyle (yükseklik, genişlik, uzunluk, ağırlık, aks sayısı ve tehlikeli madde kargosu) birlikte travelMode: TRUCK belirtilmelidir. Yönlendirme API'si, yanıtında routeToken döndürür. Arka uç sunucunuz bu yanıtı mobil uygulamanıza iletir.

3. Minimum SDK ve sistem gereksinimlerini karşılayın

Uygulamanızda, zorunlu olan minimum Navigation SDK sürümü 5.2.0 veya sonraki bir sürüm kullanılmalı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 göz önünde bulundurun:

  • Coğrafi kullanılabilirlik: Büyük araç yönlendirme, ABD'nin bitişik 48 eyaletinde (genel kullanıma açık) ve Japonya'da (deneysel) kullanılabilir. Alaska, Hawaii veya ABD idari bölgelerinde kullanılamaz.
  • Sürücü tavsiyesi ve güvenlik: Sürücüler, güvenli veya yasal olmak 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 düşük açıklıklar veya ağırlık kısıtlamalı 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 çaba rotaları: Rota API'si, araç kısıtlamalarına tam olarak uyan bir rota bulamadığında kısıtlanmış segmentlerden geçmeye devam edebilecek bir "en iyi çaba" rotası döndürür. Örneğin, Routes API, yanıtında routeRestrictionsPartiallyIgnored işaretini ayarlar. Bu rotalarda gezinirken Navigation SDK, ilgili kısıtlamaları vurgulamak için rota açıklama metinleri gösterir. Bu durumlarda rotaları dikkatli bir şekilde planlayın ve planlama ya da navigasyon için işaretlenmiş bir rotayı tek bilgi kaynağı olarak 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 oluşturma
  • Kullanım sınırları: Navigation SDK'ya yapılan 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.

Kamyona özel kullanıcı arayüzünü (rota açıklama metinleri) görüntüleme

Navigation SDK, sürücüleri yaklaşan kamyon kısıtlamaları konusunda uyarmak için haritada rota açıklamaları adı verilen görsel uyarıları otomatik olarak gösterir. Planlanan rota üzerindeki kısıtlamalar için açıklama metinleri gösterilir ancak yakındaki diğer yollarda gösterilmez.

Navigasyon SDK'sı, aşağıdaki kısıtlamalarla ilgili açıklama metinleri içerir:

Kısıtlama Açıklama metni simgesi ve metni Görüntüleme koşulları
Boy Sarı 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österilir.
Yükseklik kısıtlaması uyarısını 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 bir 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österilir.
Ağırlık kısıtlaması simgesini gösteren bir harita
Kamyon Girişi Yasak Kamyonların yasaklandığını gösteren simge Ticari kamyon kısıtlaması olan bir yol segmentinde seyahat ederken kırmızı bir açıklama metni gösterilir.
Kamyonların yasak olduğunu gösteren bir harita
Tehlikeli Maddeler Tehlikeli madde simgesi Aracın tehlikeli madde yükünün bir yol segmentinde yasaklanması durumunda kırmızı bir açıklama metni gösterilir.
Tehlikeli madde simgesini gösteren bir harita

Rota jetonlarının işleyiş şekli

routeToken, Google'ın yönlendirme 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 kapsar.

İş akışı şu adımları izler:

  1. İstek rotası: Arka uç sunucunuz, Routes API'den (veya Route Optimization API) bir kamyon rotası ister.
  2. Jeton alma: Routing API, uygun rotayı hesaplar ve arka uç sunucunuza bir routeToken döndürür.
  3. Jetonu iletme: Arka uç sunucunuz, routeToken ve hedef koordinatlarını mobil uygulamanıza iletir.
  4. SDK'ya iletme: Mobil uygulama, routeToken değerini Navigation SDK'sına iletir.
  5. Başlangıç rehberliği: Navigation SDK, rota açıklamalarını oluşturma ve aracın kısıtlamalarına göre dinamik yeniden yönlendirmeyi işleme dahil olmak üzere adım adım yol tarifi deneyiminin tüm yönlerini ele alır.

Dinamik yeniden hesaplamalar ve yeniden rota çizme

Etkin navigasyon sırasında trafik koşulları, kapalı yollar veya kaçırılan dönüşler nedeniyle araç planlanan rotadan sapabilir.

Yeniden yönlendirme gerçekleştiğinde:

  • Navigasyon SDK'sı, rotayı hedefe göre otomatik olarak yeniden hesaplar.
  • SDK, orijinal routeToken içinde kodlanmış araç özelliklerini ve boyutlarını korur.
  • Yeni hesaplanan 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ıyor.

Uygulama: Kamyona özel bir yolculuk başlatma

Büyük araç rotası jetonuyla adım adım navigasyonu başlatmak ve kullanmak için aşağıdaki adımları uygulayın.

1. adım: Arka uçtan rota jetonunu alın

Mobil uygulamanız, arka uç sunucunuzdan hedef koordinatlarla birlikte routeToken dizesini alır. Sunucunuzda bu jetonu oluşturma hakkında ayrıntılı bilgi için Rotalar API'si belgelerindeki Büyük araç rotaları ve TVS'ler oluşturma başlıklı makaleyi inceleyin.

Aşağıdaki kod, örnek bir rota jetonudur:

{
  "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g"
}

2. adım: CustomRoutesOptions yapılandırın

CustomRoutesOptions.builder kullanarak rota jetonunu bir CustomRoutesOptions örneğine iletin:

  • Jetonu setRouteToken(routeToken) kullanarak iletin.
  • Seyahat modunu setTravelMode(CustomRoutesOptions.TravelMode.DRIVING) simgesini kullanarak ayarlayın.

3. adım: Ara noktaları tanımlayın ve hedefleri belirleyin

Hedef ara noktalarınızı ve CustomRoutesOptions'ı navigator.setDestinations'e aktarın.

Ara noktaları yapılandırırken ve özel rota seçeneklerini iletirken aşağıdaki noktaları göz önünde bulundurun:

  • Hedef eşleşmesi koşulu: setDestinations öğesine iletilen hedef koordinatları, routeToken oluşturulurken kullanılan hedef koordinatlarıyla eşleşmelidir. Farklı bir hedef belirtmek hataya neden olur.
  • Yol kenarı yönlendirmesi: Büyük ticari araçlar dar sokaklarda kolayca U dönüşü yapamaz. Kamyonun hedefe yolun doğru tarafından yaklaştığından emin olmak için yol noktalarınızda setPreferSameSideOfRoad(true) işlevini çağırın.
  • Araç mola yerleri: Kamyonu durdurmak veya yükü boşaltmak için uygun bir yere yönlendirmek üzere yol noktalarınızda setVehicleStopover(true)'ı arayın.
  • Rota izleme noktaları: Hedefinizde belirlenmiş bir kargo girişi veya yükleme alanı varsa bunu rota izleme noktası jetonu kullanarak belirtin.

4. adım: Rota durumunu yönetin ve yol tarifini başlatın

ListenableResultFuture<Navigator.RouteStatus> üzerinde OnResultListener kaydettirin. Rota durumu OK olduğunda, etkin adım adım navigasyonu başlatmak için navigator.startGuidance'ı arayın.

Kod örneği

Jetonu ayarlamak için CustomRoutesOptions.builder işlevini kullanın ve ardından navigator.setDestinations işlevine 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