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
routeTokenkullanı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:
- Routes API: Başlangıç ve hedef noktaları arasında tek kamyon rotalarını hesaplamak için önerilir. Kurulum talimatları için Büyük araç rotaları ve TVS'ler 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ç rotası kılavuzuna bakın.
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
routeRestrictionsPartiallyIgnorediş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ı = 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 metni görünür.
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örünür.
|
| Kamyonlar Yasak |
|
Ticari kamyon kısıtlaması olan bir yol segmentinde seyahat ederken kırmızı bir açıklama metni görünür.
|
| Tehlikeli Maddeler |
|
Aracın tehlikeli madde yükünün bir yol segmentinde yasaklandığı durumlarda kırmızı bir açıklama metni görünür.
|
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:
- Rota isteği: Arka uç sunucunuz, Routes API'den (veya Route Optimization API'den) kamyon rotası ister.
- Jeton alma: Rota API'si, uyumlu rotayı hesaplar ve arka uç sunucunuza bir
routeTokendöndürür. - Jetonu yönlendirme: Arka uç sunucunuz,
routeTokenve hedef koordinatlarını mobil uygulamanıza iletir. - SDK'ya iletme: Mobil uygulama,
routeTokendeğerini Navigation SDK'ya iletir. - 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
routeTokeniç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:
setDestinationshizmetine iletilen hedef koordinatları,routeTokenoluş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 = truedeğ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 = truedeğ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
- Navigasyon 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.
- Navigasyon etkinliklerini dinleme: Navigasyon güncellemelerini ve yaşam döngüsü olaylarını (ör. rota ilerleme durumu, TVS değişiklikleri ve yeni rota çizme) işleyin.