Sık Sorulan Sorular
Ürün Bilgileri
- Navigasyon SDK'sı Hizmet Şartları bildirimi nasıl gösterilmeli?
- Sesli yardım hangi dilleri destekler?
- Sürücü navigasyon modundan çıktığında yön bilgisi korunuyor mu?
- Bir rotayı başlatırken veya değiştirirken çoklu çizgiler kullanılabilir mi?
- Uygulama kullanıcılarının Google Haritalar mobil uygulamasını yüklemiş olmaları gerekir mi?
- Navigasyon SDK'sı restoranların ve diğer hedeflerin yakınındaki park yeri tanımlayabilir mi?
- Navigasyon SDK'sı bir dönüş noktasına yaklaştığında şeritlerdeki trafik yönünü gösterir mi?
Sorunlar
- Xcode 12'de uygulamalar simülatör için doğru şekilde oluşturulmaz. Bu sorunu nasıl düzeltebilirim?
GMSMapView
yüklenmiyor.
Ağ
Veriler
- Rotaya başlamadan önce bir yolculuktaki tüm durakları/hedefleri alabilir miyim?
- Bir rotanın başlangıcında adım adım rota yardımı mevcut mu?
- Tahmini Varış Zamanı (GMR), uygulama kullanıcılarına nasıl bildirilir?
- Navigasyon ön planda değilse sürücünün geçerli anlık konumunu almak için
RoadSnappedLocationProvider
kullanılabilir mi? - Navigasyon SDK'sı coğrafi sınır çizmeyi destekliyor mu?
- Navigasyon uygulaması arka plandayken bildirimleri devre dışı bırakabilir miyim?
Kullanıcı Arayüzü Özelleştirme
- En iyi rota seçeneğini renklerle kodlayabilir miyim?
- Navigasyon SDK'sı son hedef için TVS'yi gösterebilir mi?
- TVS güncellemelerini nasıl gizleyebilirim?
- Başlık ve altbilgi kartları için hangi kullanıcı arayüzü özelleştirmeleri kullanılabilir?
Yönlendirme
- Sürücüye belirli bir rota sağlayabilir veya alternatif rotaları kaldırabilir miyim?
- Sürücüye, hedef için varsayılan hedef konumdan farklı bir etiket gösterebilir miyim?
- Tanımlanmış bir yoldan sapmaları izlemek için Gezinme SDK'sını kullanabilir miyim?
- Sürücü, rotayı tamamlamadan navigasyondan çıkabilir mi?
Simülatör
Workflows
- Gezinme parçası içeren bir etkinliği kapattıktan sonra bildirimi nasıl kapatırım? (Yalnızca Android)
Ürün Bilgileri
- Uygulamanız, her sürücünün kabul etmesi gereken Gezinme SDK'sı Hizmet Şartları bildiriminin yer aldığı bir iletişim kutusu uygulamalıdır. Bu iletişim kutusu, sürücüye Hizmet Şartları'nı kabul etme fırsatı verir. Gezinme SDK'sıyla birlikte şartların yer aldığı bir metin dosyası sağlanır.
- Android'de, terimleri içeren iletişim kutusunu görüntülemek için
NavigationApi.showTermsAndConditionsDialog
yöntemini kullanın. - iOS'te
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName
numaralı telefonu arayın. - Mobil Cihazlar için Google Haritalar'ın desteklediği tüm diller, Navigasyon SDK'sı için otomatik olarak kullanılabilir. Bir cihazın varsayılan bir sistem dili vardır ve uygulamalar bu ayarı değiştiremezler. Ancak uygulama 70'ten fazla dile erişebilir.
-
Evet.
LocationListener
, Android'de başlatıldığında arka planda çalışmaya devam eder. Uygulamanız, yolu tutturmaya devam ediyor ve tavrını koruyor.iOS'ta, arka planda konum ve konum güncellemelerini almaya devam etmek için yol tutturma uygulayın ve
allowsBackgroundLocationUpdates
değeriniYES
olarak ayarlayın. -
Evet. Bir rota oluşturulduğunda veya değiştirildiğinde
RouteChangeListener
, çoklu çizgiler sağlar. - Hayır, Navigasyon SDK'sı cihaza Google Haritalar Mobil'in yüklenmesini gerektirmez.
- Hayır, Navigasyon SDK'sı şu anda bu işlevi sağlamamaktadır.
- Evet. Trafik akış yönü kullanılabilir ve varsayılan olarak görüntülenir.
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 yalnızca "iOS Simulator" derlemeleri için
Excluded Architectures
öğesinearm64
ekleyin.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ınan bilgiler, 15-20 dakikalık rota bilgilerini ve sürücünün rotadan sapması durumunda kullanılacak rota alternatiflerini içerir. Navigasyon SDK'sı, cihazın GPS ve sensörlerini kullanarak konumu yaklaşık olarak tahmin eder.
- Çevrimdışı mod kullanılabiliyor mu?
- Hayır, Navigasyon SDK'sı şu anda çevrimdışı bir mod sunmamaktadır ancak SDK, yolculuk için önceden önbelleğe alınmış bilgiler sağlar.
Veriler
- Rotaya başlamadan önce bir yolculuktaki tüm durakları/hedefleri alabilir miyim?
-
Evet. Android'de bir rotanın yol tarifini almak için
Navigator.getRouteSegments()
numaralı telefonu arayın.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ü her bir manevrayı görmek için başlıktaki yol tarifi kartını kaydırabilir.
- 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:
Navigator.getTimeAndDistanceList()
kullanarak tüm ara noktalar için süreyi ve mesafeyi alın.- Bu bilgiyi, şu anda sürücü TVS için yaptığınız şekilde istemci uygulamasına yönlendirin.
iOS'te, uygulama kullanıcılarına TVS bilgilerini vermek için şu adımları kullanın:
-
Navigator.getRouteSegments()
kullanarak yolculuktaki bacakları alın. - Her yolculuk ayağı için
GMSNavigator.timeToNextDestination
numaralı telefonu arayın. - Sürücü TVS için şu anda yaptığınız gibi zaman bilgilerini istemci uygulamasına yönlendirin.
-
Navigasyon ön planda değilse sürücünün geçerli konum bilgisini almak için
RoadSnappedLocationProvider
kullanılabilir mi? -
Evet. Android'de
RoadSnappedLocationProvider
, varsayılan olarak arka planda çalışır.iOS'ta, gezinmeyi arka planda çalıştırmaya devam etmek için
GMSRoadSnappedLocationProviderListener
işleyiciyi uygulayın veallowsBackgroundLocationUpdates
özelliğiniTRUE
olarak ayarlayın. - 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 avantaja sahip. Geofence, yolun geometrisini hesaba katmayabilir ve sürücünün tam olarak gittiği nokta üzerinde ortalanmamış olabilir.remainingTimeOrdistanceChangeListener
kullanarak bu işlevi yaklaşık olarak belirleyebilirsiniz.- Geri arama sıklığını belirlemek için eşiği ayarlayın.
- Hedefe kalan mesafeyi kontrol edin.
Örneğin, eşiği 100 metre olarak ayarlarsanız hedefe olan mesafe 100 metre değiştiğinde geri çağırma alırsınız. Mesafe azaldıkça bu eşiği daha düşük bir değere güncelleyebilir ve daha sık geri arama alabilirsiniz. Ardından, teslim alma/bırakma konumuna yeterince yakın olup olmadığınızı belirlemek için kalan mesafeyi inceleyin.
iOS'te, bildirimler arasındaki mesafeyi yönetmek için
GMSNavigatorListener.didUpdateRemainingDistance
işleyicisini uygulayın. - Navigasyon uygulaması arka plandayken bildirimleri devre dışı bırakabilir miyim?
-
Evet. Android'de, bildirimleri kontrol etmek için
Navigator.setHeadsUpNotificationEnabled
kullanın. 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, yol kilitlenmesi uygulanmış konumlar için arka plan bildirimini devre dışı bırakmak için
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
öğesini HAYIR olarak ayarlayın.Diğer konum bildirimleri için arka planda işlemeyi devre dışı bırakmak üzere
GMSNavigator.sendsBackgroundNotifications(NO)
numaralı telefonu arayın.
Kullanıcı Arayüzü Özelleştirme
- En iyi rota seçeneğine renk kodları verebilir miyim?
- Hayır. Belirli bir rota seçeneği için 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:
Navigator.getTimeAndDistanceList()
kullanarak tüm ara noktalar için süreyi ve mesafeyi alın.NavigationFragment.setEtaCardEnabled(false)
kullanarak geçerli ara noktanın TVS'sini gizleyin.- Son hedef TVS'yi oluşturun.
iOS'te aşağıdakileri kullanın:
GMSNavigator.routeLegs(read)
Hizmetleri İçin Arayın.- Son ayağınızı kullanarak
GMSNavigator.timeToNextDestination
numarasını arayın. - Geçerli ara noktanın TVS'sini (ETA'yı) kullanarak
MSMapView.settings.navigationFooterEnabled=NO
- FALSE (YANLIŞ) değerini kullanın. - 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.
- Android'de
-
Android'de, arka plan renk stilini ayarlamak için
StylingOptions
kullanılır. Üstbilgi ve altbilgiyi gizlemek veya göstermek içinNavigationFragment
öğesininsetHeaderEnabled
vesetFooterEnabled
üye işlevlerini kullanın.iOS'ta arka plan renk stilini ayarlamak için
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
kullanın. Üstbilgi ve altbilgiyi gizlemek veya göstermek içinGMSUISettings
öğesininnavigationFooterEnabled
venavigationHeaderEnabled
özelliklerini kullanın.
Yönlendirme
- Sürücüye belirli bir rota sağlayabilir veya alternatif rotaları kaldırabilir miyim?
- Hayır. Varsayılan olarak, birden fazla rota sağlanır ve en hızlı rota önceliklidir. İsteğinize "otoyollardan ve ücretli geçişlerden kaçınma" gibi tercihler ekleyerek varsayılan rotayı etkileyebilirsiniz. Ara nokta eklemek rotayı da etkiler.
- Uygulama kullanıcısına hedef için varsayılan hedef konumdan farklı bir etiket gösterebilir miyim?
-
Evet. Android'de, hedef için özel bir başlık ve enlem/boylam içeren bir
Marker
oluşturun. Gezinme SDK'sı,NavigationMap
üzerinde özel başlığı ve koordinatları gösterir.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 bir rota değiştiğinde veya yeni bir rota önerildiğinde bildirim almak için
Navigator.setRouteChangedListener
uygulamasını kullanın:Navigator.setRouteChangedListener
yöntemini kullanarak rota boyunca cihaz konumunu kontrol eden bir dinleyici kaydedin.- 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.
- [İsteğe bağlı] Sürücü belirtilen rotadan uzakta olduğunda uygulamanızın gerektirdiği diğer işlevleri ekleyin.
iOS'ta, bir rota değiştiğinde veya yeni bir rota önerildiğinde bildirim almak için
GMSNavigator
uygulamasını ve işleyicilerini kullanın:- Haritanın görünüm denetleyicisinde
GMSNavigatorListener
protokolü ileGMSRoadSnappedLocationProviderListener
protokolünü uygulayın. GMSNavigatorListener.navigatorDidChangeRoute
uygulayın.GMSNavigator
içinrouteLegs
vecurrentRouteLeg
özelliklerini kullanarak yeni rotaya erişin.
-
Evet. Android'de navigasyonu durdurmak için
Navigator.stopGuidance()
yöntemini çağırın.iOS'te
GMSNavigator.clearDestinations
adlı cihazı arayın.
Simülatör
- Simülatör rota değişikliklerini destekliyor mu?
-
Evet. Android'de, rota değişikliği içeren bir yolculuğu simüle etmek için
simulateLocationsAlongNewRoute
çağrısı yapın.simulateLocationsAlongExistingRoute
yöntemi, mevcut rotadaki değişiklikleri yoksayar.iOS'ta rota değişikliği içeren bir yolculuğu simüle etmek için
GMSLocationSimulator.simulateAlongNewRouteToDestinations
kullanın. Rota değişikliği beklemiyorsanızGMSLocationSimulator.simulateLocationsAlongExistingRoute
veyaGMSLocationSimulator.simulateAlongNewRouteToDestinations
özelliğini kullanabilirsiniz.
Workflows
- Gezinme parçası içeren bir etkinliği kapattıktan sonra bildirimi nasıl kapatırım?
-
Etkinlik kapatıldığında, navigasyon sırasında gezinme bildirimi görünür kalır. Araç hedefe vardığında navigasyon durur 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. GenellikleNavigator.startguidance(getIntent())
, uygulama kullanıcısı bildirimi tıkladığında Etkinliği geri çağıran ana Etkinlik'ten çağrılır.