Büyük araçlar için adım adım navigasyon sağlama

Bu kılavuz kimler için hazırlanmıştır? Kamyon veya diğer büyük araçların sürücüleri için kabin içi navigasyon 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 Navigation SDK ile adım adım navigasyon oturumunu desteklemek için nasıl kullanılacağı açıklanmaktadır.

Neler öğreneceksiniz?

Öğrenecekleriniz:

  • Arka uç rota planlamasını uygulama içi navigasyon deneyimine bağlamak için routeToken kullanın.
  • Önceden planlanmış bir kamyon rotası kullanmak için Navigation SDK'yı yapılandırın.
  • Sürücüye kullanıcı arayüzünde kamyona özel kısıtlamaların nasıl göründüğünü anlama

Ön koşullar

Başlamadan önce aşağıdaki koşulları karşılamanız gerekir.

Proje ayarlama

Google Cloud projeniz, Büyük Araç Rotalandırma için sağlanmış olmalıdır. Rotalar API'si ve Navigasyon SDK'sı için ayrı projeler kullanıyorsanız her ikisi de buna göre sağlanmalıdır.

Rota jetonu oluşturma

Öncelikle Kamyon rotaları ve tahmini varış zamanları oluşturma kılavuzundaki talimatları uygulayarak bir rota oluşturmanız gerekir. Bu kılavuzdaki adımları tamamlamak için bu sürecin çıktısı olan routeToken gereklidir.

Minimum koşullar

Uygulamanız, zorunlu olan minimum Navigation SDK sürümünü kullanmalıdır:

  • Android: 5.2.0 veya sonraki sürümler
  • iOS: 5.4.0 veya sonraki sürümler

Ayrıca, Navigation SDK'yı kullanmayla ilgili tüm şartlar geçerlidir:

Sınırlamalar

Başlamadan önce aşağıdaki sınırlamaları ve koşulları bilmeniz gerekir.

  • Coğrafi Kullanılabilirlik: Büyük araç yönlendirme yalnızca ABD'nin bitişik 48 eyaletinde kullanılabilir.
  • Büyük araç rotalandırma, önizleme aşamasında olan bir tekliftir. Sürücüler, güvenli veya yasal olmak için yalnızca bu API'nin döndürdüğü rotalara güvenmemelidir. Rotaların araca uygun olduğu garanti edilmez ve bu rotaları takip etmek sürücüleri alçak köprüler veya büyük araçların yasak olduğu yollar gibi tehlikelere maruz bırakabilir.
  • En iyi çaba rotaları. Bazı durumlarda API, seyahat kısıtlamalarına tam olarak uyan bir rota bulamaz. Bunun yerine, kısıtlanmış alanlardan geçmeye devam edebilecek bir "en iyi çaba" rotası döndürür. Routes API yanıtı, routeRestrictionsPartiallyIgnored alanında bu rotaları net bir şekilde işaretler. Bu gibi durumlarda rotanızı dikkatli bir şekilde planlayın. İdeal olarak diğer kaynak verileri kullanın. Planlama veya gezinme için işaretlenmiş bir rotayı tek doğruluk kaynağı olarak kullanmayın.
  • Desteklenmeyen Özellikler: Bu teklife daha fazla işlevsellik kazandırmak için çalışıyoruz ancak büyük araç rotalama özelliği aşağıdakileri desteklemez:
    • Kamyon geçiş ücretleri
    • Hız sınırları
    • Radyoaktif tehlikeli maddeler için rota oluşturma
  • Kullanım sınırları: Tüm istekler, standart saniyedeki sorgu sayısı (QPS) sınırlarına tabidir.

Kamyona özel kullanıcı arayüzünü görüntüleme

Navigation SDK, sürücüleri yaklaşan kamyon kısıtlamaları konusunda uyarmak için haritada rota açıklama metinleri adı verilen görsel uyarıları otomatik olarak gösterir. Açıklama metinleri, planlanan rotanın bir parçası olan kısıtlamalar için oluşturulur ancak yakındaki diğer yollarda oluşturulmaz.

SDK, aşağıdaki kısıtlamalarla ilgili uyarılar içerir:

Kısıtlama Ek Bilgi 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ı içeren 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ı ihlali içeren 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ı simgesi içeren bir harita
Kamyon Girişi Yasaktır Kamyonların yasaklandığı simgesi Kamyon kısıtlaması olan bir yol segmentinde seyahat ederken kırmızı bir açıklama kutusu gösterilir.
Kamyonların yasak olduğu simgesini içeren 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 simgesi içeren bir harita

Rota jetonu iş akışı

routeToken, Routes API tarafından oluşturulan bir rotanın şifrelenmiş ve güvenli anlık görüntüsüdür. Rotayı oluşturmak için kullanılan araç profili de dahil olmak üzere tüm rota ayrıntılarını içerir. Token kullanmak, gezinme oturumunun arka ucunuzda planladığınız rotayla eşleşmesini sağlar.

Sürücü navigasyonu başlattıktan sonra, trafik ve yol koşullarına bağlı olarak Navigation SDK tarafından sunulan rotanın değişebileceğini unutmayın. Bazı durumlarda, rota jetonuyla belirtilen rotadan farklı olabilir.

Bu durumlarda ve sürücünün planlanan rotadan saptığı durumlarda, rota jetonunun kullanılması, yeni hesaplanan rotaların orijinal Rotalar API isteğinde yapılandırılan araç özelliklerine uygun olmasını sağlar.

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

  1. Arka ucunuz Routes API'den bir kamyon rotası ister.
  2. Routes API, routeToken döndürür.
  3. Arka uçunuz bu jetonu mobil uygulamanıza gönderir.
  4. Mobil uygulama, yolculuğu başlatmak için routeToken değerini Navigation SDK'ya iletir.
  5. Navigation SDK, sürücü yoldan saptığında yeniden yönlendirme de dahil olmak üzere adım adım yol tarifi deneyiminin tüm yönlerini ele alır ve orijinal araç kısıtlamalarını korur.

Uygulama: Kamyona özel bir yolculuk başlatma

Kamyon rotanızla bir navigasyon oturumu başlatmak için rota jetonunu Navigator'a iletirsiniz.

1. adım: Rota jetonunu alın

Uygulamanız, arka uç sunucunuzdan routeToken dizesini alır.

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

CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g

2. adım: Jetonu Navigator'a iletin

Seyahat hedefini ayarlarken Navigator'a routeToken değerini girin. Navigation SDK daha sonra bu jetonu, seyahatin tüm rota hesaplamaları için kullanır.

Navigation SDK'nın TravelMode yapılandırması olduğunu ve bu yapılandırmanın TravelMode.DRIVING olarak ayarlanması gerektiğini unutmayın. Bu, travelMode yapılandırmasından ayrıdır. Routes API'de TRUCK olarak ayarlanmalıdır. Routes API travelMode yapılandırması routeToken içinde kodlanır ve Navigation SDK'ya kamyona özel deneyimi ve rotayı göstermesi için sinyal gönderir.

Android

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)

iOS

mapView.navigator setDestinations yöntemini kullanarak rota jetonunu Navigation SDK'ya aktarın. 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: {...})

Sonraki Adımlar