Sık Sorulan Sorular
Ürün Bilgileri
- Navigasyon SDK'sı Şartları gösterilsin mi?
- Sesli yardım hangi dilleri destekler?
- Sürücü koltuğun sol tarafındaki gezinme modundan çıkar mı?
- Başlatılırken çoklu çizgiler kullanılabilir mi? yoksa rotanızı mı değiştiriyorsunuz?
- Uygulama kullanıcılarının Google Haritalar'a sahip olması gerekir mi? mobil yüklü mü?
- Navigasyon SDK'sı Restoranların ve diğer varış noktalarının yakınındaki park yerleri nedir?
- Navigasyon SDK'sı bir dönüş noktasına yaklaştığınızda şeritlerde trafik yönünü gösterir mi?
- Hangi Gezinme SDK'sı? API'ler yalnızca Mobilite Hizmetleri müşterileri tarafından mı kullanılmalıdır?
Sorunlar
- Xcode 12'de uygulamalar doğru şekilde derlemenizi sağlar. Bu sorunu nasıl düzeltebilirim?
GMSMapView
yüklenmiyor.
Ağ
Veriler
- Tüm rotaya başlamadan önce bir yolculuktaki durakları/hedefleri mi merak ediyorsunuz?
- Adım adım rota yardımı mevcut mu? bir rotanın başında mı?
- Tahmini Varış Saati nasıl? (TVS) nasıl iletildi?
RoadSnappedLocationProvider
sürücünün trafik bilgilerini almak için Navigasyon ön planda değilse mevcut tutturulan konum nedir?- Navigasyon SDK'sı coğrafi sınır çizmeyi destekliyor musunuz?
- Aşağıdaki durumlarda bildirimleri devre dışı bırakabilir miyim? Navigasyon uygulaması arka planda çalışıyor mu?
Kullanıcı Arayüzü Özelleştirme
- Kendime en iyi şekilde renk kodları verebilir miyim? rota seçeneği nedir?
- Navigasyon SDK'sı nihai hedef için TVS'yi gösterir.
- TVS güncellemelerini nasıl gizleyebilirim?
- Hangi kullanıcı arayüzü özelleştirmeleri başlık ve altbilgi kartlarında kullanılabilir mi?
Yönlendirme
- Belirli bir rota belirtebilir miyim? sürücüye yönlendirme yapmak veya alternatif rotaları kaldırmak mı?
- Sürücüye farklı bir etiket gösterebilir miyim? varsayılan hedef konumdan farklı olabilir mi?
- Navigasyon SDK'sını kullanabilir miyim? nasıl izlemesi gerekir?
- Sürücü, navigasyondan çıkmadan tamamlıyor musunuz?
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
öğesinearm64
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.
Ağ
- 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:
- Şunu kullanarak tüm ara noktalar için süreyi ve mesafeyi alın:
Navigator.getTimeAndDistanceList()
- 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:
- Yolculuktaki bacakları almak için
Navigator.getRouteSegments()
- Her yolculuk ayağı için
GMSNavigator.timeToNextDestination
numaralı telefonu arayın. - Siz çalışırken zaman bilgilerini istemci uygulamasına yönlendirin şoför TVS'si için de aynı şeyi yapıyor.
- Şunu kullanarak tüm ara noktalar için süreyi ve mesafeyi alın:
-
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 veTRUE
mülkü içinallowsBackgroundLocationUpdates
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
- Geri arama sıklığını belirlemek için eşiği ayarlayın.
- 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:
- Şunu kullanarak tüm ara noktalar için süreyi ve mesafeyi alın:
Navigator.getTimeAndDistanceList()
- Geçerli ara noktanın TVS'sini aşağıdakileri kullanarak gizleyin:
NavigationFragment.setEtaCardEnabled(false)
- Son hedef TVS'yi oluşturun.
iOS'te aşağıdakileri kullanın:
GMSNavigator.routeLegs(read)
Hizmetleri İçin Arayın.- Son ayağınızı da kullanarak
GMSNavigator.timeToNextDestination
- Geçerli ara noktanın TVS'sini aşağıdakileri kullanarak gizleyin:
MSMapView.settings.navigationFooterEnabled=NO
değerini YANLIŞ olarak ayarlayın. - Son hedef TVS'yi oluşturun.
- Şunu kullanarak tüm ara noktalar için süreyi ve mesafeyi alın:
- 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.
- Android'de
-
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 öğeninsetFooterEnabled
üye işleviNavigationFragment
.iOS'te
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
arka plan renk stilini ayarlayın. Üstbilgi ve altbilgiyi gizleme veya göstermenavigationFooterEnabled
kullan veGMSUISettings
öğesininnavigationHeaderEnabled
ö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ülerNavigationMap
ü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:- Rota boyunca cihaz konumunu kontrol eden bir dinleyici kaydedin
(
Navigator.setRouteChangedListener
yöntemini kullanarak). - 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:- Haritanın görünüm denetleyicisinde
GMSNavigatorListener
uygulayın protokolü veGMSRoadSnappedLocationProviderListener
protokolü. - Uygulama
GMSNavigatorListener.navigatorDidChangeRoute
- Yeni rotaya
routeLegs
veGMSNavigator
öğesinincurrentRouteLeg
özelliği.
- Rota boyunca cihaz konumunu kontrol eden bir dinleyici kaydedin
(
-
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
veyaGMSLocationSimulator.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ığındaresume intent
tetiklenir.Navigator.startguidance(getIntent())
, genellikle ana Etkinlik, uygulama kullanıcısı bildirimi tıkladığında Etkinliği geri çağırır.