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 sürümünü yüklemesi gerekir mi?
- Gezinme 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 yolculuktaki tüm durakları/hedefleri alabilir miyim?
- Adım adım rota yönlendirmesi, rotanın başında 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ı destekliyor mu?
- 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 hedefin tahmini varış zamanını gösterebilir mi?
- Tahmini varış zamanı güncellemelerini nasıl gizleyebilirim?
- Başlık 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üye hedef için varsayılan hedef konumdan farklı bir etiket gösterebilir 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ı
Mobilite Hizmetleri
- Mobilite Hizmetleri müşterileri için Navigasyon SDK'sını kullanmanın farkı nedir?
- 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 Navigation 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. Şartların yer aldığı bir 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, arka planda konum ve yönle ilgili konum güncellemeleri 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üklenmesi gerekmez.
- Hayır, Navigasyon SDK'sı şu anda bu işlevi sunmamaktadır.
- 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ğ
- Gezinme SDK'sı 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 arasında 15-20 dakikalık rota bilgileri ve sürücünün rotadan sapması durumunda rota alternatifleri bulunur. Navigasyon SDK'sı, cihazın GPS'sini ve sensörlerini kullanarak konumu yaklaşık olarak belirler.
- Çevrimdışı mod var mı?
- Hayır, Navigasyon SDK'sı şu anda çevrimdışı mod sunmuyor ancak SDK, bir yolculuk için önceden önbelleğe alınmış bilgiler sağlıyor.
Veriler
- Rotaya başlamadan önce bir yolculuğun tüm duraklarını/hedeflerini alabilir miyim?
-
Evet. Android'de bir rotanın yol tarifini almak için
Navigator.getRouteSegments()
numaralı telefonu arayın.iOS'te
GMSNavigator.routeLegs(read)
numaralı telefonu arayın. - Adım adım rota rehberliği, 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.
- Tahmini teslimat süresi 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 işaretlerinin 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()
kullanarak yolculuktaki bacakları alın. - Her yolculuk bölümü için
GMSNavigator.timeToNextDestination
numaralı telefonu arayın. - Şu anda sürücü TVS'si için yaptığınız gibi zaman bilgilerini istemci uygulamasına yönlendirin.
-
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ıştırmak için
GMSRoadSnappedLocationProviderListener
için dinleyiciyi uygulayın veallowsBackgroundLocationUpdates
mülkünüTRUE
olarak ayarlayın. - Navigasyon 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 gittiği tam noktanın üzerinde merkezlenmemiş olabilir.Bu işlevi
remainingTimeOrdistanceChangeListener
kullanarak yaklaşık olarak hesaplayabilirsiniz.- 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 noktasına yeterince yakın olup olmadığınızı belirlemek için kalan mesafeyi kontrol edin.
iOS'te bildirimler arasındaki mesafeyi yönetmek için dinleyiciyi
GMSNavigatorListener.didUpdateRemainingDistance
uygulayın. - Gezinme 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 üzere
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ğinin renk kodlaması şu anda desteklenmiyor.
- Navigasyon SDK'sı, nihai hedefin tahmini varış zamanını gösterebilir mi?
-
Evet. Android'de aşağıdaki yöntemleri kullanın:
Navigator.getTimeAndDistanceList()
kullanarak tüm yol işaretlerinin süresini ve mesafesini alın.NavigationFragment.setEtaCardEnabled(false)
simgesini kullanarak mevcut yol noktasının TVS'sini gizleyin.- Nihai hedef tahmini varış saatini oluşturun.
iOS'te aşağıdakileri kullanın:
GMSNavigator.routeLegs(read)
Hizmetleri İçin Arayın.- Son aşamada
GMSNavigator.timeToNextDestination
'ü arayın. MSMapView.settings.navigationFooterEnabled=NO
değerini FALSE olarak ayarlayarak mevcut yol noktasının TVS'sini gizleyebilirsiniz.- Nihai hedef tahmini varış saatini oluşturun.
- ETA güncellemelerini nasıl gizleyebilirim?
-
ETA kartlarını aşağıdaki yöntemlerle devre dışı bırakabilirsiniz:
- Android'de
navigationView.setEtaCardEnabled(false)
simgesini kullanın. - iOS'te
GMSMapView.settings.navigationFooterEnabled=NO
simgesini kullanın.
- Android'de
-
Android'de arka plan rengini ayarlamak için
StylingOptions
öğesini kullanırsınız. Başlığı 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. Başlığı ve altbilgiyi gizlemek veya göstermek içinGMSUISettings
öğesininnavigationFooterEnabled
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 noktası eklemek de rotayı etkiler.
- Uygulama kullanıcısına hedef için varsayılan hedef konumdan farklı bir etiket 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 Gezinme 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
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 varış tahmini ve mesafe bilgilerini içeren bir mesaj gönderin.
- Cihazın konumunu takip edin.
- [isteğe bağlı] Sürücü belirtilen rotadan çıktığında 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 rotaya 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, güzergah 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
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?
-
Gezinme bildirimi, etkinlik kapalıyken gezinme sırasında görünür durumda 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 Hareketlilik 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ı, Mobilite Hizmetleri müşterileri için de farklı şekilde faturalandırılır. Daha fazla bilgi için Mobilite Hizmetleri belgelerine bakın.
Mobilite ürünleri şu anda yalnızca belirli müşterilere sunulmaktadır. 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 çağırmalı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 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 uygulamadan 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 hesap 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.