Sık Sorulan Sorular
Ürün bilgileri
- Navigasyon SDK'sı Hizmet Şartları bildirimi nasıl gösterilmelidir?
- Sesli rehberlik hangi dilleri destekler?
- Sürücü navigasyon modundan çıktığında yön korunuyor mu?
- Bir rota başlatırken veya değiştirirken çoklu çizgiler kullanılabilir mi?
- Uygulama kullanıcılarının Google Haritalar mobil uygulamasının yüklü olması gerekir mi?
- Navigasyon SDK'sı, restoranların ve diğer hedeflerin yakınındaki park yerlerini tanımlayabilir mi?
- Navigasyon SDK'sı, bir dönüş noktasına yaklaşırken şeritlerdeki trafik yönünü gösteriyor mu?
Sorunlar
- Xcode 12'de uygulamalar simülatör için doğru şekilde derlenmiyor. Bu sorunu nasıl düzeltebilirim?
GMSMapView
yüklenmiyor.
Ağ
Veriler
- Rotayı başlatmadan önce bir yolculuğun tüm duraklarını/varış noktalarını alabilir miyim?
- Rota başlangıcında adım adım rota rehberliği kullanılabilir mi?
- Tahmini Varış Vakti (ETA) uygulama kullanıcılarına nasıl iletilir?
- Navigasyon ön planda değilse sürücünün mevcut sabitlenmiş konumunu almak için
RoadSnappedLocationProvider
kullanılabilir mi? - Navigasyon SDK'sı coğrafi sınırlamayı destekler mi?
- Navigasyon uygulaması arka plandayken bildirimleri devre dışı bırakabilir miyim?
Kullanıcı Arayüzü Özelleştirme
- En iyi rota seçeneğini renk kodlamalı olarak gösterebilir miyim?
- Navigasyon SDK'sı, nihai hedef için tahmini varış süresini gösterebilir mi?
- Tahmini varış zamanı güncellemelerini nasıl gizleyebilirim?
- Üstbilgi ve altbilgi kartları için hangi kullanıcı arayüzü özelleştirmeleri kullanılabilir?
Yönlendirme
- Bir sürücüye belirli bir rota sağlayabilir veya alternatif rotaları kaldırabilir miyim?
- Sürücünün hedef için gördüğü etiketi, varsayılan hedef konumdan farklı bir etiketle değiştirebilir miyim?
- Belirlenen yoldan sapmaları izlemek için Navigasyon SDK'sını kullanabilir miyim?
- Sürücü, rotayı tamamlamadan navigasyondan çıkabilir mi?
Simülatör
İş akışları
Hareketlilik Hizmetleri
- Mobilite Hizmetleri müşterileri için Navigasyon SDK'sının kullanımı nasıl farklı?
- Mobilite Hizmetleri müşterisi olup olmadığımı nasıl öğrenebilirim?
- Mobilite Hizmetleri müşterileri için Navigasyon SDK'sı nasıl faturalandırılır?
- Hangi Navigasyon SDK API'leri yalnızca Mobility Services müşterileri tarafından kullanılmalıdır?
- Mobilite Hizmetleri müşterisiysem Navigasyon SDK'sının Mobilite Hizmetleri dışındaki bir uygulamasını da kullanabilir miyim?
Ürün bilgileri
- Uygulamanız, her sürücünün kabul etmesi gereken Navigasyon SDK'sı Hizmet Şartları bildirimini içeren bir iletişim kutusu uygulamalıdır. Bu iletişim kutusu, sürücüye Hizmet Şartları'nı kabul etme fırsatı verir. Hükümlerin metin dosyası, Navigation SDK'sı ile birlikte sağlanır.
- Android'de, şartları 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. - Google Haritalar Mobil tarafından desteklenen tüm diller Navigasyon SDK'sı için otomatik olarak kullanılabilir. Cihazların varsayılan bir sistem dili vardır ve uygulamalar bu ayarı değiştiremez. Ancak uygulamalar 70'den fazla dile erişebilir.
-
Evet. Android'de
LocationListener
, başlatıldıktan sonra arka planda çalışmaya devam eder. Uygulamanız, konumu yol yakalamaya devam eder ve yönünü korur.iOS'te, konum ve yönle ilgili konum güncellemelerini arka planda almaya devam etmek için yol yakalama özelliğini 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ı için cihaza Google Haritalar Mobil'in yüklü olması gerekmez.
- Hayır, Navigation SDK'sı şu anda bu işlevi sunmuyor.
- Evet. Trafik yönü kullanılabilir ve varsayılan olarak gösterilir.
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 projenizin Derleme Ayarları'nı açın ve yalnızca "iOS Simülasyon Araç Seti" derlemeleri için
arm64
öğesiniExcluded Architectures
alanına ekleyin.Daha fazla bilgi için aşağıdaki StackOverflow mesaj dizisine bakın.
- GMSMapView yüklenmiyor.
-
GMSMapView yüklenmezse:
- Cloud Console'da NavSDK'nın etkinleştirildiğinden emin olun.
- Nav SDK'sı yüklüyse ancak projeniz Nav SDK API'lerini kullanmıyorsa SDK'yı ikili dosyanızdan kaldırın.
Ağ
- Navigation SDK, zayıf bağlantıyı nasıl yönetir?
- Navigasyon SDK'sı, her yolculuğun rotasını önceden önbelleğe alır. Önbelleğe alınmış bilgiler, 15-20 dakikalık rota bilgilerini ve sürücünün rotadan sapması durumunda rota alternatiflerini içerir. Navigasyon SDK'sı, cihazın GPS'sini ve sensörlerini kullanarak konumu yaklaşık olarak belirler.
- Çevrimdışı mod mevcut mu?
- Hayır, Navigasyon SDK'sı şu anda çevrimdışı mod sunmamaktadır. Ancak SDK, bir yolculuk için önceden önbelleğe alınmış bilgiler sağlar.
Veriler
- Rotaya başlamadan önce bir yolculuktaki tüm durak/varış noktalarını alabilir miyim?
-
Evet. Android'de bir rotanın yol tarifini almak için
Navigator.getRouteSegments()
'yi arayın.iOS'te
GMSNavigator.routeLegs(read)
numaralı telefonu arayın. - Adım adım rota yönlendirmesi, rotanın başında kullanılabilir mi?
- Evet. Navigasyon SDK'sı, rota segmentlerinin listesini sağlar. Ayrıca sürücü, her manevrayı görmek için başlıktaki yol tarifi kartını kaydırabilir.
- ETA, uygulama kullanıcılarına nasıl iletilir?
-
Android'de uygulama kullanıcılarına ETA bilgilerini vermek için aşağıdaki adımları uygulayın:
Navigator.getTimeAndDistanceList()
kullanarak tüm yol noktalarının süresini ve mesafesini alın.- Şu anda sürücü TVS'si için yaptığınız gibi bu bilgileri istemci uygulamasına yönlendirin.
iOS'te uygulama kullanıcılarına ETA bilgilerini vermek için aşağıdaki adımları uygulayın:
-
Navigator.getRouteSegments()
simgesini kullanarak yolculuktaki bacakları alın. - Her yolculuk aşaması için
GMSNavigator.timeToNextDestination
numaralı telefonu arayın. - Sürücünün tahmini varış zamanı için şu anda yaptığınız gibi zaman bilgilerini istemci uygulamasına iletin.
-
Navigasyon ön planda değilse sürücünün mevcut sabitlenmiş konumunu almak için
RoadSnappedLocationProvider
kullanılabilir mi? -
Evet. Android'de
RoadSnappedLocationProvider
varsayılan olarak arka planda çalışır.iOS'te, gezinmeyi arka planda çalışır durumda tutmak için
GMSRoadSnappedLocationProviderListener
için dinleyiciyi uygulayın veallowsBackgroundLocationUpdates
mülkünüTRUE
olarak ayarlayın. - Navigation SDK'sı coğrafi sınırlamayı destekler mi?
-
Hayır. Gezinme bağlamında
remainingTimeOrdistanceChangeListener
basit bir coğrafi çite kıyasla avantaja sahiptir. Coğrafi çit, yol geometrisini hesaba katmayabilir ve sürücünün tam olarak gittiği noktaya odaklanmayabilir.Bu işlevi
remainingTimeOrdistanceChangeListener
kullanarak yaklaşık olarak elde edebilirsiniz.- Geri aramaların sıklığını belirlemek için eşiği ayarlayın.
- Hedefe kalan mesafeyi kontrol edin.
Örneğin, eşiği 100 m olarak ayarlarsanız hedefe olan mesafe 100 m değiştiğinde geri arama alırsınız. Mesafe azaldıkça bu eşiği daha küçük bir değerle 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 dinleyiciyi
GMSNavigatorListener.didUpdateRemainingDistance
uygulayın. - Navigasyon uygulaması arka plandayken bildirimleri devre dışı bırakabilir miyim?
-
Evet. Android'de bildirimleri kontrol etmek için
Navigator.setHeadsUpNotificationEnabled
simgesini kullanın. Bu yöntemin bir boole bağımsız değişkeni vardır.FALSE
bildirimleri devre dışı bırakır,TRUE
bildirimleri etkinleştirir.iOS'te,
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
değerini HAYIR olarak ayarlayarak yol fotoğrafı çekilen konumlar için arka plan bildirimini devre dışı bırakın.Diğer konum bildirimleri için arka planda işlemeyi devre dışı bırakmak istiyorsanız
GMSNavigator.sendsBackgroundNotifications(NO)
numaralı telefonu arayın.
Kullanıcı Arayüzü Özelleştirme
- En iyi rota seçeneğini renk kodlamalı olarak gösterebilir miyim?
- Hayır. Belirli bir rota seçeneğini renk kodlamalı olarak ayarlama şu anda desteklenmiyor.
- Navigasyon SDK'sı, nihai hedef için tahmini varış süresini gösterebilir mi?
-
Evet. Android'de aşağıdaki yöntemleri kullanın:
Navigator.getTimeAndDistanceList()
kullanarak tüm yol noktalarının süresini ve mesafesini alın.NavigationFragment.setEtaCardEnabled(false)
simgesini kullanarak mevcut yol noktasının TVS'sini gizleyin.- Nihai hedefe varış tahmini süresini oluşturun.
iOS'te aşağıdakileri kullanın:
GMSNavigator.routeLegs(read)
Hizmetleri İçin Arayın.- Son aşamada
GMSNavigator.timeToNextDestination
numaralı telefonu arayın. - Mevcut yol noktasının TVS'sini gizlemek için
MSMapView.settings.navigationFooterEnabled=NO
değerini FALSE olarak ayarlayın. - Nihai hedefe varış tahmini süresini oluşturun.
- TVS güncellemelerini nasıl gizleyebilirim?
-
ETA 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 rengini ayarlamak için
StylingOptions
simgesini kullanın. Üstbilgi ve altbilgiyi gizlemek veya göstermek içinNavigationFragment
sınıfınınsetHeaderEnabled
vesetFooterEnabled
üye işlevlerini kullanın.iOS'te arka plan rengi stilini ayarlamak için
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
simgesini kullanın. Üstbilgi ve altbilgiyi gizlemek veya göstermek içinGMSUISettings
'ninnavigationFooterEnabled
venavigationHeaderEnabled
özelliklerini kullanın.
Yönlendirme
- Bir 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 "otoyol ve ücretli geçişlerden kaçının" gibi tercihler ekleyerek varsayılan rotayı etkileyebilirsiniz. Yol işaretleri eklemek de rotayı etkiler.
- Uygulama kullanıcısına, varsayılan hedef konumdan farklı bir hedef etiketi gösterebilir miyim?
-
Evet. Android'de, hedef ve enlem/boylam için özel bir başlık içeren bir
Marker
oluşturun. Navigasyon SDK'sı, özel başlığı ve koordinatlarıNavigationMap
üzerinde gösterir.iOS'te, hedef için bir
GMSMarker
oluşturup gösterirsiniz. - Tanımlanmış bir yoldan sapmaları izlemek için Navigasyon SDK'sını kullanabilir miyim?
-
Evet. Android'de, rota değiştiğinde veya yeni bir rota önerildiğinde bildirim almak için
Navigator.setRouteChangedListener
simgesini kullanın:Navigator.setRouteChangedListener
yöntemini kullanarak rotadaki cihaz konumunu kontrol eden bir dinleyici kaydedin.- Geri çağırma etkinliği işleyicisine
onRouteChanged
kod ekleyin:- Uygulama kullanıcısına güncel TVS ve mesafe bilgilerini içeren bir mesaj gönderin.
- Cihazın konumunu izleme
- [isteğe bağlı] Sürücünün belirtilen rotadan çıktığı durumlarda uygulamanızın yönetmesi için gereken diğer işlevleri ekleyin.
iOS'te, bir rota değiştiğinde veya yeni bir rota önerildiğinde bildirim almak için
GMSNavigator
'ü ve dinleyicilerini kullanın:- Haritanın görüntü kontrol cihazında
GMSNavigatorListener
protokolünü veGMSRoadSnappedLocationProviderListener
protokolünü uygulayın. GMSNavigatorListener.navigatorDidChangeRoute
'ü uygulayın.GMSNavigator
öğesininrouteLegs
vecurrentRouteLeg
özelliklerini kullanarak yeni yola erişin.
-
Evet. Android'de navigasyonu durdurmak için
Navigator.stopGuidance()
yöntemini çağırın.iOS'te
GMSNavigator.clearDestinations
numaralı telefonu arayın.
Simülatör
- Simülatör rota değişikliklerini destekler mi?
-
Evet. Android'de, rota değişikliği içeren bir yolculuğu simüle etmek için
simulateLocationsAlongNewRoute
işlevini çağırın.simulateLocationsAlongExistingRoute
yöntemi, mevcut rotada yapılan değişiklikleri yoksayar.iOS'te, rota değişikliği içeren bir yolculuğu simüle etmek için
GMSLocationSimulator.simulateAlongNewRouteToDestinations
simgesini kullanın. Rota değişiklikleri beklemiyorsanızGMSLocationSimulator.simulateLocationsAlongExistingRoute
veyaGMSLocationSimulator.simulateAlongNewRouteToDestinations
kullanabilirsiniz.
İş akışları
- Gezinme fragmanı içeren bir etkinliği kapattıktan sonra bildirimi nasıl kapatabilirim?
-
Navigasyon bildirimi, etkinlik kapalıyken navigasyon sırasında görünür kalır. Araç hedefe ulaştığında navigasyon durur ve bildirim kaybolur.
Bildirimdeki tıklamaları işlemek için
Navigator.startGuidance(intent resumeIntent)
simgesini kullanın.resume intent
, uygulama kullanıcısı bildirimi tıkladığında tetiklenir. GenellikleNavigator.startguidance(getIntent())
, uygulama kullanıcısı bildirimi tıkladığında etkinliği geri çağıran ana etkinlikten çağrılır.
Hareketlilik Hizmetleri
Google Haritalar Platformu Mobilite Hizmetleri, ulaşım ve lojistik işletmelerine yönelik kurumsal ihtiyaçları desteklemeye yardımcı olacak bir API ve SDK koleksiyonu sunar. Mobilite Hizmetleri müşterileri için Navigasyon SDK'sı, genellikle rota optimizasyonu, görev dağıtımı, görev takibi, filo analizi ve daha fazlası için ilgili hizmetlerle birlikte kullanılır. Navigasyon SDK'sı, Mobility Services müşterileri için de farklı şekilde faturalandırılır. Daha fazla bilgi için Mobilite Hizmetleri belgelerini inceleyin.
Mobilite ürünleri şu anda yalnızca belirli müşteriler tarafından kullanılabilir. Daha fazla bilgi için satış temsilcinizle iletişime geçin.
ReportBillableEvent
çağrısı olup olmadığına bakın. Yalnızca Mobility Services müşterileri ReportBillableEvent
yöntemini kullanmalıdır.
Navigasyon SDK'sında, yalnızca Google tarafından işlem başına faturalandırılan Mobilite Hizmetleri müşterileri tarafından kullanılması amaçlanan çeşitli API'ler vardır. Mobility Services müşterisi değilseniz aşağıdaki yöntemler kullanılamaz:
Evet, Mobility Services müşterileri hem Mobility Services hem de Mobility Services dışındaki Navigasyon SDK'sı uygulamalarını kullanabilir. Ancak bir uygulamada aynı anda yalnızca bir uygulama içi reklam türü kullanabilirsiniz. Ayrıca, Mobilite Hizmetleri uygulamanızla kullandıklarınızdan ayrı yeni bir Google Cloud projesi, faturalandırma hesabı ve API anahtarı oluşturmanız gerekir. Daha fazla bilgi için Navigasyon SDK'sı kurulumuna genel bakış başlıklı makaleyi inceleyin.
Bir uygulamayı bir uygulama türünden diğerine taşıma da dahil olmak üzere, Navigasyon SDK'sının Mobilite Hizmetleri dışındaki bir uygulamasını kullanma hakkında daha fazla bilgi için Google Hesabı temsilcinizle iletişime geçin.
Not: Şu anda Mobility Services müşterisi değilseniz ve Mobility Services API ve SDK koleksiyonu hakkında daha fazla bilgi edinmek istiyorsanız Google Haritalar Platformu satış ekibiyle iletişime geçin.