Sık Sorulan Sorular
Ürün Bilgileri
- Navigasyon SDK'sı Hizmet Şartları bildirimi nasıl gösterilmelidir?
- Sesli yardım hangi dilleri destekler?
- Sürücü navigasyon modundan çıkarken 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üklemesi gerekir mi?
- Navigasyon SDK'sı restoranların ve diğer hedeflerin yakınında park yerlerini belirleyebilir mi?
- Navigasyon SDK'sı bir dönüş noktasına yaklaştığında şeritlerde trafik akış yönünü gösteriyor mu?
Sorunlar
Ağ
Veriler
- Rotaya başlamadan önce yolculuktaki tüm durakları/varış noktalarını alabilir miyim?
- Bir rotanın başlangıcında adım adım rota yardımı mevcut mu?
- Tahmini Varış Zamanı (ETA) uygulama kullanıcılarına nasıl iletilir?
- Navigasyon ön planda değilse
RoadSnappedLocationProvider
, sürücünün anlık anlık konumunu almak için 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ştirmesi
- En iyi rota seçeneğine renk kodları verebilir miyim?
- Navigasyon SDK'sı son hedefin tahmini varış süresini gösterebilir mi?
- TVS güncellemelerini nasıl gizleyebilirim?
- Üstbilgi 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ımlanan bir yoldan sapmaları izlemek için Gezinme SDK'sını kullanabilir miyim?
- Sürücü rotayı tamamlamadan navigasyondan çıkabilir mi?
Simülatör
Workflows
Ürün Bilgileri
- Uygulamanız, her sürücünün kabul etmesi gereken Gezinme 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 olanağı sunar. Gezinme SDK'sı ile birlikte terimlerin 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 sistem dili vardır ve bir uygulama bu ayarı değiştiremez. Ancak uygulama, 70'ten fazla dile erişebiliyor.
-
Evet. Android'de,
LocationListener
başlatıldıktan sonra arka planda çalışmaya devam eder. Uygulamanız konumu tutturmaya devam ediyor ve yönü koruyor.iOS'ta, arka planda konum ve konum güncellemelerini almaya devam etmek için yola hizalama işlemini uygulayın ve
allowsBackgroundLocationUpdates
değeriniYES
olarak ayarlayın. -
Evet. Bir rota oluşturulduğunda veya değiştirildiğinde,
RouteChangeListener
çoklu çizgileri sağlar. - Hayır, Navigasyon SDK'sı cihaza Mobil Cihazlar için Google Haritalar'ın yüklenmesini gerektirmez.
- 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 oluşturulmaz. Bu sorunu nasıl düzeltebilirim?
-
Bu sorunu düzeltmek için Xcode projenizin Derleme Ayarları'nı açın ve yalnızca "iOS Simülatörü" derlemeleri için
Excluded Architectures
öğesinearm64
ekleyin.Daha fazla bilgi için aşağıdaki StackOverflow iş parçacığına bakın.
Ağ
- Gezinme SDK'si zayıf bağlantı sorununu nasıl ele alır?
- Gezinme SDK'sı her yolculuk için rotayı önceden önbelleğe alır. Önbelleğe alınan bilgiler arasında, 15-20 dakikalık yönlendirme bilgileri ve sürücünün rotadan sapması durumunda rota alternatifleri bulunur. Navigasyon SDK'sı, cihazın GPS ve sensörlerini kullanarak konumu yaklaşık olarak belirler.
- Çevrimdışı mod kullanılabilir mi?
- Hayır, Navigasyon SDK'sı şu anda çevrimdışı mod sunmamaktadır. SDK, bir yolculuk için önbelleğe alınmış bilgiler sağlar.
Veriler
- Rotayı başlatmadan önce yolculuktaki tüm durakları/varış noktalarını alabilir miyim?
-
Evet. Android'de, bir rotayla ilgili yol tariflerini almak için
Navigator.getRouteSegments()
numaralı telefonu arayın.iOS'ta
GMSNavigator.routeLegs(read)
numaralı telefonu arayın. - Adım adım rota yardımı rotanın başlangıcında mevcut mu?
- Evet. Gezinme SDK'si, rota segmentlerinin bir listesini sağlar. Ayrıca, sürücü her manevrayı görmek için başlıktaki yol tarifi kartını hızlıca kaydırabilir.
- TVS, uygulama kullanıcılarına nasıl iletiliyor?
-
Android'de, uygulama kullanıcılarına TVS bilgilerini vermek için aşağıdaki adımları uygulayın:
Navigator.getTimeAndDistanceList()
kullanarak tüm ara noktalar için süreyi ve mesafeyi alın.- Bu bilgileri, sürücü TVS'si için şu anda yaptığınız gibi istemci uygulamasına iletin.
iOS'te, uygulama kullanıcılarına TVS bilgilerini vermek için şu adımları uygulayın:
- Yolculuk sırasında
Navigator.getRouteSegments()
kullanarak bacakları alın. - Yolculuğun her aşaması için
GMSNavigator.timeToNextDestination
numaralı telefonu arayın. - Şu anda sürücü TVS'si için yaptığınız gibi, zaman bilgisini istemci uygulamasına yönlendirin.
-
Navigasyon ön planda değilse
RoadSnappedLocationProvider
, sürücünün anlık anlık konumunu almak için kullanılabilir mi? -
Evet. Android'de
RoadSnappedLocationProvider
varsayılan olarak arka planda çalışır.iOS'ta, gezinmenin arka planda çalışmaya devam etmesi için
GMSRoadSnappedLocationProviderListener
işleyiciyi uygulayın veallowsBackgroundLocationUpdates
özelliğiniTRUE
olarak ayarlayın. - Gezinme SDK'sı coğrafi sınır çizmeyi destekliyor mu?
-
Hayır. Navigasyon bağlamında
remainingTimeOrdistanceChangeListener
, basit bir coğrafi sınıra göre daha avantajlıdır. Coğrafi sınır, yolun geometrisini dikkate almayabilir ve sürücünün tam olarak gittiği noktaya göre ortalanmamış olabilir.Bu işlevselliği,
remainingTimeOrdistanceChangeListener
kullanarak yaklaşık olarak belirleyebilirsiniz.- Geri çağırmaların 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 arama 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, alma/bırakma konumuna yeterince yakın olup olmadığınızı belirlemek için kalan mesafeyi inceleyin.
iOS'ta, 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
uygulamasını kullanın. Bu yöntemin bir boole bağımsız değişkeni var.FALSE
bildirimleri devre dışı bırakır;TRUE
bildirimleri etkinleştirir.iOS'ta,
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdates
özelliğini HAYIR değerine ayarlayarak yolların birleştiği konumlar için arka plan bildirimini devre dışı bırakın.Diğer konum bildirimlerinin arka planda işlemesini devre dışı bırakmak için
GMSNavigator.sendsBackgroundNotifications(NO)
numaralı telefonu arayın.
Kullanıcı Arayüzü Özelleştirmesi
- En iyi rota seçeneğine renk kodu verebilir miyim?
- Hayır. Belirli bir rota seçeneğine renk kodlaması şu anda desteklenmemektedir.
- Navigasyon SDK'sı nihai 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 aşama olarak
GMSNavigator.timeToNextDestination
numaralı telefonu arayın. - FALSE için
MSMapView.settings.navigationFooterEnabled=NO
kullanarak geçerli ara noktanın TVS'sini gizleyin. - 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'ta
GMSMapView.settings.navigationFooterEnabled=NO
kullanın.
- Android'de
-
Android'de arka plan renk stilini ayarlamak için
StylingOptions
kullanırsınız. Üstbilgi ve altbilgiyi gizlemek veya göstermek içinNavigationFragment
kapsamındakisetHeaderEnabled
vesetFooterEnabled
üye işlevlerini kullanın.iOS'te, arka plan renk stilini ayarlamak için
GMSMapView.settings.navigationHeaderPrimaryBackgroundColor
özelliğini kullanın. Üstbilgiyi 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 "otoyollar ve ücretli geçişleri kullanma" gibi tercihler ekleyerek varsayılan rotayı etkileyebilirsiniz. Ara noktaların eklenmesi rotayı da etkiler.
- Uygulama kullanıcısına, hedef için varsayılan hedef konumdan farklı bir etiket gösterebilir miyim?
-
Evet. Android'de, varış noktası için özel başlık ve enlem/boylam içeren bir
Marker
oluşturun. Gezinme SDK'sı, özel başlığı ve koordinatlarıNavigationMap
üzerinde görüntüler.iOS'ta hedef için bir
GMSMarker
oluşturup görüntülersiniz. - 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
uygulamasını kullanın:Navigator.setRouteChangedListener
yöntemini kullanarak rota boyunca cihazın konumunu kontrol eden bir işleyici kaydedin.- Geri çağırma etkinlik işleyicisine (
onRouteChanged
) kodu ekleyin:- Uygulama kullanıcısına TVS ve mesafe bilgilerini içeren bir mesaj gönderin.
- Cihazın konumunu izleyin.
- [İsteğe bağlı] Sürücü, belirlenen rotanın dışındayken uygulamanızın işlemesi gereken diğer işlevleri ekleyin.
iOS'ta bir rota değiştiğinde veya yeni bir rota önerildiğinde bildirim almak için
GMSNavigator
özelliğini ve işleyicilerini kullanın:- Haritanın görünüm denetleyicisinde
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'ta
GMSNavigator.clearDestinations
numaralı telefonu 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
yöntemini çağırın.simulateLocationsAlongExistingRoute
yöntemi, mevcut rotada yapılan değişiklikleri yoksayar.iOS'ta, rota değişikliği içeren bir yolculuğu simüle etmek için
GMSLocationSimulator.simulateAlongNewRouteToDestinations
aracını kullanın. Herhangi bir rota değişikliği beklemiyorsanızGMSLocationSimulator.simulateLocationsAlongExistingRoute
veyaGMSLocationSimulator.simulateAlongNewRouteToDestinations
kullanabilirsiniz.
Workflows
- Gezinme parçası içeren bir etkinliği kapattıktan sonra bildirimi nasıl kapatırım?
-
Navigasyon sırasında, etkinlik kapatıldığında gezinme bildirimi görünür halde kalır. Araç hedefe vardığında navigasyon durur ve bildirim kaybolur.
Bildirim tıklamalarını işlemek için
Navigator.startGuidance(intent resumeIntent)
yöntemini kullanın. Uygulama kullanıcısı bildirimi tıkladığındaresume intent
tetiklenir.Navigator.startguidance(getIntent())
, genellikle ana Etkinlikten çağrılır. Ana Etkinlik, uygulama kullanıcısı bildirimi tıkladığında etkinliğin hatırlanmasını sağlar.