Büyük araç rotalarında gezinme

Bu kılavuz 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 kılavuzu okuyun.

Bu kılavuzda ele alınan konular: Bu kılavuzda, Routes API veya Route Optimization API tarafından oluşturulan ve kamyona özel bir rotanın nasıl alınacağı ve iOS için Navigation SDK ile adım adım yol tarifi 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 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 projeniz için erişim isteğinde bulunmak üzere iletişim formunu doldurun. Sonraki adımları açıklamak için bir Google temsilcisi sizinle iletişime geçecektir.

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, minimum gerekli Navigation SDK sürümü olan 5.4.0 veya sonraki bir sürüm kullanılmalıdır.

Ayrıca projeniz, standart Navigation SDK kurulum koşullarını karşılamalıdır.

Sınırlamalar ve operasyonel kurallar

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ç rotası, 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 oluşturma 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 işaretlenmiş bir rotayı planlama veya navigasyon için 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österme

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. Açıklamalar, planlanan rota üzerinde meydana gelen kısıtlamalar için gösterilir ancak yakındaki diğer yollarda gösterilmez.

Navigation SDK, 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ı 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 sınırlaması 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 kutusu 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ı simgesinin gösterildiği bir harita
Kamyon Girişi Yasak Kamyonların yasaklandığı simgesi Ticari kamyon kısıtlaması olan bir yol segmentinde seyahat ederken kırmızı bir açıklama kutusu 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 simgesinin gösterildiği 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. Rota isteği: Arka uç sunucunuz, Routes API'den (veya Route Optimization API) bir kamyon rotası ister.
  2. Jeton alma: Yönlendirme API'si, 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'ya iletir.
  5. Yardımı başlatma: 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 yönlendirme

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ı, hedefe giden rotayı 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 gezi 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şturmayla ilgili ayrıntılar için Rotalar API dokümanlarındaki 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: Jetonu Navigator'a iletin

routeToken ve hedef ara noktalarını mapView.navigator setDestinations yöntemine iletin.

Ara noktaları yapılandırırken ve rota jetonunu 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 oluyor.
  • 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 preferSameSideOfRoad = true işaretini ayarlayın.
  • Araç mola yerleri: Kamyonu durmak veya yük boşaltmak için uygun bir yere yönlendirmek üzere yol noktalarınıza vehicleStopover = true simgesini ekleyin.
  • Gezinme noktaları: Hedefinizde belirlenmiş bir yük girişi veya yükleme alanı varsa bunu gezinme noktası jetonu kullanarak belirtin.

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

setDestinations geri çağırmasında döndürülen GMSRouteStatus değerini değerlendirin. Durum .OK (GMSRouteStatusOK) olduğunda isGuidanceActive = true (guidanceActive = YES) ayarını yaparak aktif adım adım yol tarifini başlatın.

Kod örneği

mapView.navigator setDestinations yöntemini kullanarak rota jetonunu Navigation SDK'ya iletin. Rota jetonunu oluştururken kullandığınız hedef yol noktalarını belirtin:

// Obtain the routeToken string from your backend
let routeToken = "route token returned by Routes API"

mapView.navigator?.setDestinations([destination], routeToken: routeToken, callback: {...})

Araç içi ekranlar

CarPlay için Navigasyon'u kullanarak büyük araç navigasyon oturumunu araç içi ekranlarda gösterebilirsiniz.

Sonraki adımlar