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
routeTokenkullanı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:
- Routes API: Başlangıç ve hedef noktalar arasında tek bir kamyon rotası hesaplamak için önerilir. Kurulum talimatları için Büyük araç rotaları ve tahmini varış zamanları 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ç yönlendirme kılavuzuna bakın.
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
routeRestrictionsPartiallyIgnorediş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ı: 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 kutusu gösterilir.
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österilir.
|
| Kamyon Girişi Yasak |
|
Ticari kamyon kısıtlaması olan bir yol segmentinde seyahat ederken kırmızı bir açıklama kutusu gösterilir.
|
| Tehlikeli Maddeler |
|
Aracın tehlikeli madde yükünün bir yol segmentinde yasaklanması durumunda kırmızı bir açıklama metni gösterilir.
|
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:
- Rota isteği: Arka uç sunucunuz, Routes API'den (veya Route Optimization API) bir kamyon rotası ister.
- Jeton alma: Yönlendirme API'si, uygun rotayı hesaplar ve arka uç sunucunuza bir
routeTokendöndürür. - Jetonu iletme: Arka uç sunucunuz,
routeTokenve hedef koordinatlarını mobil uygulamanıza iletir. - SDK'ya iletme: Mobil uygulama,
routeTokendeğerini Navigation SDK'ya iletir. - 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
routeTokeniç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ı,routeTokenoluş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 = trueiş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 = truesimgesini 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
- Gezinme 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.
- Gezinme etkinliklerini dinleme: Rota ilerlemesi, TVS değişiklikleri ve yeniden yönlendirmeler gibi gezinme güncellemelerini ve yaşam döngüsü olaylarını yönetin.