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 iOS için Navigation SDK ile adım adım rota oturumu oluşturmak için 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, zorunlu olan minimum Navigation SDK sürümü 5.4.0 veya sonraki bir sürümü 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: Jetonu Navigator'a iletin

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

Ara noktaları yapılandırırken ve rota jetonunu 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 preferSameSideOfRoad = true değerini ayarlayın.
  • Araç durakları: Kamyonu durmak veya yük boşaltmak için uygun bir konuma yönlendirmek üzere yol noktalarınızda vehicleStopover = true değerini ayarlayın.
  • Navigasyon noktaları: Varış noktanızda belirlenmiş bir yük girişi veya yükleme alanı varsa bunu navigasyon noktası jetonu kullanarak belirtin.

3. adım: Rota durumunu işleme ve rehberliği başlatma

setDestinations geri çağırmasında döndürülen GMSRouteStatus değerini değerlendirin. Durum .OK (GMSRouteStatusOK) olduğunda, etkin adım adım rehberliği başlatmak için isGuidanceActive = true (guidanceActive = YES) değerini ayarlayın.

Kod örneği

Rota jetonunu oluştururken kullandığınız hedef ara noktalarını belirterek rota jetonunu mapView.navigator setDestinations yöntemini kullanarak Navigasyon SDK'sına iletin:

// 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örüntüleyebilirsiniz.

Sonraki adımlar