Sık Sorulan Sorular

Ürün Bilgileri

Sorunlar

Veriler

Kullanıcı Arayüzü Özelleştirme

Yönlendirme

Simülatör

İş akışları

Ürün Bilgileri

Uygulamanız, Navigasyon SDK Şartları'nı içeren bir iletişim kutusu uygulamalıdır her sürücünün kabul etmesi gereken Hizmet bildirimi. Bu iletişim kutusu, sürücüye Hizmet Şartları'nı kabul etme fırsatı verir. Şartların metin dosyası Gezinme SDK'sı ile sağlanır.
Android'de NavigationApi.showTermsAndConditionsDialog yöntemini kullanın.
iOS'te, GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName.
Mobil Cihazlar için Google Haritalar tarafından desteklenen tüm diller otomatik olarak navigasyon SDK'sı için kullanılabilir. Cihazın varsayılan sistem dili vardır ve uygulama bu ayarı değiştiremez; ancak, Uygulama 70'ten fazla dile erişebiliyor.

Evet. LocationListener, Android'de başlatıldıktan sonra devam eder. arka planda çalışır. Uygulamanız, yolu sabitlemeye devam eder ve ayakta.

iOS'te, konum ve konum güncellemelerini almaya devam etmek için arka planda, yol tutturma işlemini uygulayın ve allowsBackgroundLocationUpdates - YES.

Evet. Bir rota oluşturulduğunda veya değiştirildiğinde, RouteChangeListener çoklu çizgiler sağlar.

Hayır, Navigasyon SDK'sı için Google Haritalar Mobil gerekli değildir yüklü olması gerekir.
Hayır, Navigation SDK bu işlevi şu anda sağlamıyor gerekir.
Evet. Trafik akış yönü kullanılabilir ve varsayılan olarak görüntülenir.
Hangi Navigasyon SDK'sı API'ler yalnızca Mobilite Hizmetleri müşterileri tarafından mı kullanılmalıdır?

Gezinme SDK'sında yalnızca Mobilite Hizmetleri müşterilerinin kullanımı için tasarlanmış ve Google tarafından işlem başına faturalandırılan çeşitli API'ler bulunur. Mobilite Hizmetleri müşterisi değilseniz aşağıdaki yöntemler devre dışıdır:

Sorunlar

Xcode 12'de uygulamalar, simülatör için doğru şekilde derlenmiyor. Bu sorunu nasıl düzeltebilirim?

Bu sorunu düzeltmek için Xcode proje Derleme Ayarlarınızı açın ve Excluded Architectures öğesine arm64 ekleyin. "iOS Simulator" için oluşturabilirsiniz.

Daha fazla bilgi için aşağıdaki StackOverflow ileti dizisine bakın.

GMSMapView yüklenmiyor.

GMSMapView yüklenmezse:

  • Cloud Console'da NavSDK'nın etkin olduğundan emin olun.
  • Nav SDK yüklüyse ancak projeniz Nav SDK API'lerini kullanmıyorsa onu ikili programınızdan kaldırın.

Navigasyon SDK'sı zayıf bağlantıyı nasıl ele alır?
Gezinme SDK'sı her yolculuğun rotasını önbelleğe alır. Önbelleğe alınmış bilgiler, 15-20 dakikalık yönlendirme bilgilerini içerir. ve rota alternatifleri hakkında bilgi edindiniz. İlgili içeriği oluşturmak için kullanılan Navigasyon SDK'sı, cihazın GPS'ini kullanarak konumu tahmin eder ve olabilir.
Çevrimdışı mod kullanılabiliyor mu?
Hayır, navigasyon SDK'sı şu anda çevrimdışı modu; ancak SDK, önbelleğe alınmış bilgileri sağlar. bahsedeceğim.

Veriler

Başlamadan önce bir yolculuktaki tüm durakları/hedefleri alabilir miyim? nasıl gidiyor?

Evet. Android'de bir rotanın yol tarifini almak için şunu arayın: Navigator.getRouteSegments()

iOS'te GMSNavigator.routeLegs(read) adlı cihazı arayın.

Bir rotanın başlangıcında adım adım rota yardımı mevcut mu?
Evet. Navigasyon SDK'sı, rota segmentlerinin listesini sağlar. Ayrıca, sürücü sayfayı kaydırarak başlıktaki yol tarifi kartını da görebilirsiniz.
TVS, uygulama kullanıcılarına nasıl iletilir?

Android'de, uygulama kullanıcılarına TVS bilgilerini vermek için aşağıdaki adımları kullanın:

  1. Şunu kullanarak tüm ara noktalar için süreyi ve mesafeyi alın: Navigator.getTimeAndDistanceList()
  2. Bu bilgileri istemci uygulamasına yönlendirirken şoför TVS'si için de aynı şeyi yapıyor.

iOS'te, uygulama kullanıcılarına TVS bilgilerini vermek için şu adımları kullanın:

  1. Yolculuktaki bacakları almak için Navigator.getRouteSegments()
  2. Her yolculuk ayağı için GMSNavigator.timeToNextDestination numaralı telefonu arayın.
  3. Siz çalışırken zaman bilgilerini istemci uygulamasına yönlendirin şoför TVS'si için de aynı şeyi yapıyor.
RoadSnappedLocationProvider, sürücünün arabasını almak için kullanılabilir mi? navigasyon ön planda değilse mevcut tutturulan konum nedir?

Evet. Android'de RoadSnappedLocationProvider, varsayılan olarak arka plan seçeneğini belirleyin.

iOS'te, navigasyonun arka planda çalışmaya devam etmesi için işleyiciyi uygulayın GMSRoadSnappedLocationProviderListener için ve TRUE mülkü için allowsBackgroundLocationUpdates mülkü.

Navigasyon SDK'sı coğrafi sınır çizmeyi destekliyor mu?

Hayır. Gezinme bağlamında remainingTimeOrdistanceChangeListener basit bir coğrafi sınıra göre avantajlıdır. Coğrafi sınır, vardır ve yolun tam olarak hangi noktaya odaklandığını emin olabiliyorsunuz.

Bu işlevi, yaklaşık değerini remainingTimeOrdistanceChangeListener

  1. Geri arama sıklığını belirlemek için eşiği ayarlayın.
  2. Hedefe kalan mesafeyi kontrol edin.

Örneğin, eşiği 100 milyon olarak ayarlarsanız hedefe olan mesafe değiştiğinde geri arama alırsınız 100 metre uzaklıkta. Mesafe azaldıkça bu eşiği daha küçük bir değere ayarlayabilirsiniz. ve daha sık geri aranma olanağı sağlar. Sonra, kalan mesafeyi kontrol edin. teslim alma/bırakma konumuna yeterince yakın olup olmadığınızı belirleyin.

iOS'te, GMSNavigatorListener.didUpdateRemainingDistance işleyicisini uygulayın simgesine dokunun.

Navigasyon uygulaması arka plandayken bildirimleri devre dışı bırakabilir miyim?

Evet. Android'de Navigator.setHeadsUpNotificationEnabled kullanın ve bildirimleri kontrol edin. Bu yöntemde bir boole bağımsız değişkeni var. FALSE bildirimleri devre dışı bırakır; TRUE, bildirimleri etkinleştirir.

iOS'ta, yola sığdırılan konumlar için arka plan bildirimini şu tarihe kadar devre dışı bırakın: GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates ayarlanıyor yok: HAYIR.

Diğer konum bildirimleri için arka planda işlemeyi devre dışı bırakmak üzere şu numarayı arayın: GMSNavigator.sendsBackgroundNotifications(NO)

Kullanıcı Arayüzü Özelleştirme

En iyi rota seçeneğine renk kodları verebilir miyim?
Hayır. Belirli bir rota seçeneğinin renk kodlaması şu anda desteklenmemektedir.
Navigasyon SDK'sı son hedef için TVS'yi gösterebilir mi?

Evet. Android'de aşağıdaki yöntemleri kullanın:

  1. Şunu kullanarak tüm ara noktalar için süreyi ve mesafeyi alın: Navigator.getTimeAndDistanceList()
  2. Geçerli ara noktanın TVS'sini aşağıdakileri kullanarak gizleyin: NavigationFragment.setEtaCardEnabled(false)
  3. Son hedef TVS'yi oluşturun.

iOS'te aşağıdakileri kullanın:

  1. GMSNavigator.routeLegs(read) Hizmetleri İçin Arayın.
  2. Son ayağınızı da kullanarak GMSNavigator.timeToNextDestination
  3. Geçerli ara noktanın TVS'sini aşağıdakileri kullanarak gizleyin: MSMapView.settings.navigationFooterEnabled=NO değerini YANLIŞ olarak ayarlayın.
  4. Son hedef TVS'yi oluşturun.
TVS güncellemelerini nasıl gizleyebilirim?

TVS kartlarını aşağıdaki yöntemlerle devre dışı bırakabilirsiniz:

  • Android'de navigationView.setEtaCardEnabled(false) kullanın.
  • iOS'te GMSMapView.settings.navigationFooterEnabled=NO kullanın.
Üstbilgi ve altbilgi kartları için hangi kullanıcı arayüzü özelleştirmeleri kullanılabilir?

Android'de arka planı ayarlamak için StylingOptions kullanılır. renk stili. Üstbilgiyi gizlemek veya göstermek için altbilgisi için, setHeaderEnabled ve Şu öğenin setFooterEnabled üye işlevi NavigationFragment.

iOS'te GMSMapView.settings.navigationHeaderPrimaryBackgroundColor arka plan renk stilini ayarlayın. Üstbilgi ve altbilgiyi gizleme veya gösterme navigationFooterEnabled kullan ve GMSUISettings öğesinin navigationHeaderEnabled özelliği.

Yönlendirme

Belirli bir rota belirtebilir miyim? veya alternatif rotaları kaldırmak mı istiyorsunuz?
Hayır. Varsayılan olarak, birden fazla rota sağlanır ve en hızlı rota önceliklidir. Varsayılan rotayı, "kaçınma" gibi tercihler ekleyerek etkileyebilirsiniz. otoyollar ve ücretli geçişler," talebinize ekleyin. Ara nokta eklemek rotayı da etkiler.
Uygulama kullanıcısına hedef için varsayılandan farklı bir etiket gösterebilir miyim? hedef konum nedir?

Evet. Android'de, şunu içeren bir Marker oluşturun: enlem/boylam için özel başlık ekleyin. İlgili içeriği oluşturmak için kullanılan Gezinme SDK'sı özel başlığı ve koordinatları görüntüler NavigationMap üzerinde.

iOS'te hedef için bir GMSMarker oluşturur ve gösterirsiniz.

Tanımlı bir yoldan sapmaları izlemek için Navigasyon SDK'sını kullanabilir miyim?

Evet. Android'de Navigator.setRouteChangedListener uygulamasını kullanarak bir rota değiştiğinde veya yeni bir rota önerildiğinde bildirim al:

  1. Rota boyunca cihaz konumunu kontrol eden bir dinleyici kaydedin (Navigator.setRouteChangedListener yöntemini kullanarak).
  2. Geri çağırma etkinlik işleyicisine (onRouteChanged) kod ekleyin:
    • Uygulama kullanıcısına güncellenmiş TVS ve mesafe bilgilerini içeren bir mesaj gönderin.
    • Cihazın konumunu izleyin.
    • [isteğe bağlı] Uygulamanızın gerektirdiği diğer işlevleri işlenmesi için ekleyin Sürücü belirtilen rotanın dışına çıktığında.

iOS'te GMSNavigator ve işleyicilerini kullanarak şu işlemleri yapabilirsiniz: bir rota değiştiğinde veya yeni bir rota önerildiğinde bildirim al:

  1. Haritanın görünüm denetleyicisinde GMSNavigatorListener uygulayın protokolü ve GMSRoadSnappedLocationProviderListener protokolü.
  2. Uygulama GMSNavigatorListener.navigatorDidChangeRoute
  3. Yeni rotaya routeLegs ve GMSNavigator öğesinin currentRouteLeg özelliği.
Sürücü, rotayı tamamlamadan navigasyondan çıkabilir mi?

Evet. Android'de Navigator.stopGuidance() yöntemini çağırarak navigasyonu durdurabilirsiniz.

iOS'te GMSNavigator.clearDestinations adlı cihazı arayın.

Simülatör

Simülatör rota değişikliklerini destekliyor mu?

Evet. Android'de, simulateLocationsAlongNewRoute adlı kişiyi telefonla arayarak Rota değişikliği içeren bir yolculuğu simüle eder. simulateLocationsAlongExistingRoute yöntemi, mevcut rotadaki değişiklikleri yoksayar.

iOS'te GMSLocationSimulator.simulateAlongNewRouteToDestinations kullanın kullanarak rota değişikliği içeren bir yolculuğu simüle edin. Süre tahmininden herhangi bir rota değişikliği varsa, GMSLocationSimulator.simulateLocationsAlongExistingRoute veya GMSLocationSimulator.simulateAlongNewRouteToDestinations.

İş akışları

Şunu içeren bir etkinliği kapattıktan sonra bildirimi nasıl kapatırım: gezinme parçası nedir?

Gezinme sırasında gezinme bildirimi görünür kalır, Etkinlik kapatıldığında. Araç varış noktasına vardığında navigasyon durakları ve bildirim kaybolur.

Bildirime yapılan tıklamaları işlemek için Navigator.startGuidance(intent resumeIntent) öğesini kullanın. Uygulama kullanıcısı bildirimi tıkladığında resume intent tetiklenir. Navigator.startguidance(getIntent()), genellikle ana Etkinlik, uygulama kullanıcısı bildirimi tıkladığında Etkinliği geri çağırır.