Sık Sorulan Sorular
Ürün bilgileri
- Navigation SDK Hizmet Şartları bildirimi nasıl gösterilmelidir?
- Sesli yardım hangi dilleri destekler?
- Sürücü, gezinme modundan çıktığında yön korunuyor mu?
- Bir rota başlatılırken veya değiştirilirken çoklu çizgiler kullanılabilir mi?
- Uygulama kullanıcılarının mobil cihazlarında Google Haritalar yüklü olmalı mı?
- Navigation SDK, restoranların ve diğer varış noktalarının yakınındaki otoparkları belirleyebilir mi?
- Navigation SDK, dönüş noktasına yaklaşırken şeritlerdeki trafik yönünü gösterir mi?
Sorunlar
- Xcode 12'de uygulamalar simülatör için doğru şekilde derlenmiyor. Bu sorunu nasıl düzeltebilirim?
GMSMapViewyüklenmiyor.
Ağ
Veriler
- Rotayı başlatmadan önce bir yolculuktaki tüm durakları/varış noktalarını alabilir miyim?
- Rotanın başlangıcında adım adım rota yardımı kullanılabilir mi?
- Tahmini varış zamanı (ETA) uygulama kullanıcılarına nasıl bildirilir?
- Navigasyon ön planda değilse sürücünün mevcut konumunu almak için
RoadSnappedLocationProviderkullanılabilir mi? - Navigation SDK, 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ı, nihai varış noktası için TVS'yi gösterebilir mi?
- TVS güncellemelerini nasıl gizleyebilirim?
- Üstbilgi ve altbilgi kartları için hangi kullanıcı arayüzü özelleştirmeleri kullanılabilir?
Güzergah Oluşturma/Planlama
- Sürücüye belirli bir rota sağlayabilir miyim veya alternatif rotaları kaldırabilir miyim?
- Sürücüye, varsayılan varış noktasından farklı bir varış noktası etiketi gösterebilir miyim?
- Tanımlı bir rotadan sapmaları izlemek için Navigasyon SDK'sını kullanabilir miyim?
- Sürücü, rotayı tamamlamadan navigasyondan çıkabilir mi?
- Navigation SDK, kamyonlar ve büyük araçlar için rota oluşturma ve navigasyonu destekliyor mu?
Simülatör
İş akışları
Mobilite Hizmetleri
- Navigation SDK'nın kullanımı Mobilite Hizmetleri müşterileri için nasıl farklılık gösterir?
- Mobility Services müşterisi olup olmadığımı nasıl anlayabilirim?
- Mobilite Hizmetleri müşterileri için Navigasyon SDK'sı nasıl faturalandırılır?
- Yalnızca Mobilite Hizmetleri müşterileri tarafından kullanılması gereken Navigation SDK API'leri hangileridir?
- Mobility Services müşterisiysem Navigation SDK'nın Mobility Services dışı bir uygulamasını da kullanabilir miyim?
Ürün bilgileri
- Uygulamanızda, her sürücünün kabul etmesi gereken Navigasyon SDK'sı Hizmet Şartları bildirimini içeren bir iletişim kutusu bulunmalıdır. Bu iletişim kutusu, sürücüye Hizmet Şartları'nı kabul etme fırsatı verir. Şartların metin dosyası, Navigasyon SDK'sı ile birlikte sağlanır.
- Android'de, şartları içeren iletişim kutusunu görüntülemek için
NavigationApi.showTermsAndConditionsDialogyöntemini kullanın. - iOS'te
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyNameyöntemini çağırın. - Google Haritalar Mobil tarafından desteklenen tüm diller, Navigasyon SDK'sında otomatik olarak kullanılabilir. Cihazın varsayılan bir sistem dili vardır ve uygulama bu ayarı değiştiremez. Ancak uygulama 70'ten fazla dile erişebilir.
-
Evet. Android'de, başlatılan
LocationListenerarka planda çalışmaya devam eder. Uygulamanız, konumu yola tutturmaya ve yönü korumaya devam eder.iOS'te, arka planda konum ve yön bilgisi güncellemelerini almaya devam etmek için yola tutturma özelliğini uygulayın ve
allowsBackgroundLocationUpdatesdeğeriniYESolarak ayarlayın. -
Evet. Bir rota oluşturulduğunda veya değiştirildiğinde
RouteChangeListener, çoklu çizgiler sağlar. - Hayır, Navigasyon SDK'sının kullanılabilmesi için cihazda Google Haritalar mobil uygulamasının yüklü olması gerekmez.
- Hayır, Navigation SDK ş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 Simulator" derlemeleri için
Excluded Architecturesözelliğinearm64değerini ekleyin.Daha fazla bilgi için şu StackOverflow ileti dizisine bakın.
- GMSMapView yüklenmiyor.
-
GMSMapView yüklenmiyorsa:
- Cloud Console'da NavSDK'nın etkinleştirildiğinden emin olun.
- Navigasyon SDK'sı yüklüyse ancak projeniz Navigasyon SDK'sı API'lerini kullanmıyorsa SDK'yı ikili programınızdan kaldırın.
Ağ
- Navigation SDK, zayıf bağlantıyı nasıl yönetir?
- Navigasyon SDK'sı, her yolculuk için rotayı önceden önbelleğe alır. Önbelleğe alınan bilgiler, 15-20 dakikalık rota bilgilerini ve sürücünün rotadan sapması durumunda alternatif rotaları içerir. Navigation SDK, cihazın GPS'ini ve sensörlerini kullanarak konumu tahmin eder.
- Ç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ğlar.
Veriler
- Rotayı başlatmadan önce bir yolculuktaki tüm durakları/varış noktalarını alabilir miyim?
-
Evet. Android'de bir rotanın yol tarifini almak için
Navigator.getRouteSegments()yöntemini çağırın.iOS'te
GMSNavigator.routeLegs(read)yöntemini çağırın. - Rotanın başında adım adım rota rehberliği kullanılabilir mi?
- Evet. Navigation SDK, rota segmentlerinin bir listesini sağlar. Ayrıca sürücü, her 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 bilgisi vermek için aşağıdaki adımları uygulayın:
Navigator.getTimeAndDistanceList()kullanarak tüm ara noktaların süresini ve mesafesini alma- Bu bilgileri, sürücünün TVS'si için yaptığınız gibi istemci uygulamasına iletin.
iOS'te, uygulama kullanıcılarına TVS bilgisi vermek için aşağıdaki adımları uygulayın:
-
Navigator.getRouteSegments()kullanarak yolculuktaki ayakları alın. - Yolculuğun her ayağı için
GMSNavigator.timeToNextDestinationyöntemini çağırın. - Sürücünün TVS'si için yaptığınız gibi zaman bilgisini istemci uygulamaya iletin.
-
Navigasyon ön planda değilse sürücünün mevcut konumunu almak için
RoadSnappedLocationProviderkullanılabilir mi? -
Evet. Android'de
RoadSnappedLocationProvidervarsayılan olarak arka planda çalışır.iOS'te, navigasyonun arka planda çalışmaya devam etmesi için
GMSRoadSnappedLocationProviderListenerdinleyicisini uygulayın veallowsBackgroundLocationUpdatesözelliğiniTRUEolarak ayarlayın. - Navigation SDK, coğrafi sınır çizmeyi destekliyor mu?
-
Hayır. Navigasyon bağlamında
remainingTimeOrdistanceChangeListener, coğrafi sınıra göre daha avantajlıdır. Coğrafi sınır, yol geometrisini hesaba katmayabilir ve sürücünün gittiği tam noktayı merkeze almayabilir.remainingTimeOrdistanceChangeListenerkullanarak bu işlevi yaklaşık olarak elde edebilirsiniz.- 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 m olarak ayarlarsanız hedefe olan mesafe 100 m değiştiğinde geri çağırma alırsınız. Mesafe azaldıkça bu eşiği daha küçük bir değere güncelleyebilir ve daha sık geri çağırma 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.didUpdateRemainingDistancedinleyicisini uygulayın. - Navigasyon uygulaması arka plandayken bildirimleri devre dışı bırakabilir miyim?
-
Evet. Android'de bildirimleri kontrol etmek için
Navigator.setHeadsUpNotificationEnabledkullanın. Bu yöntemin bir boole bağımsız değişkeni vardır.FALSEbildirimleri devre dışı bırakır;TRUEbildirimleri etkinleştirir.iOS'te,
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdatesdeğerini NO olarak ayarlayarak yola sabitlenmiş 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)işlevini çağırın.
Kullanıcı arayüzü özelleştirme
- En iyi rota seçeneğini renklerle kodlayabilir miyim?
- Hayır. Belirli bir rota seçeneğini renk kodlaması şu anda desteklenmemektedir.
- Navigasyon SDK'sı, son varış noktası için TVS'yi gösterebilir mi?
-
Evet. Android'de aşağıdaki yöntemleri kullanın:
Navigator.getTimeAndDistanceList()kullanarak tüm ara noktaların süresini ve mesafesini almaNavigationFragment.setEtaCardEnabled(false)kullanarak mevcut yol noktasının TVS'sini gizleyin.- Son varış noktasının TVS'sini oluşturun.
iOS'te aşağıdakileri kullanın:
GMSNavigator.routeLegs(read)Hizmetleri İçin Arayın.- Son aşamada
GMSNavigator.timeToNextDestinationnumaralı telefonu arayın. MSMapView.settings.navigationFooterEnabled=NOdeğerini FALSE olarak ayarlayarak mevcut ara noktanın TVS'sini gizleyin.- Son varış noktasının TVS'sini 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=NOkullanın.
- Android'de
-
Android'de arka plan rengi stilini ayarlamak için
StylingOptionskullanılır. Üstbilgi ve altbilgiyi gizlemek veya göstermek içinNavigationFragmentöğesininsetHeaderEnabledvesetFooterEnabledüye işlevlerini kullanın.iOS'te arka plan rengi stilini ayarlamak için
GMSMapView.settings.navigationHeaderPrimaryBackgroundColorkullanın. Üstbilgi ve altbilgiyi gizlemek veya göstermek içinGMSUISettingsöğesininnavigationFooterEnabledvenavigationHeaderEnabledözelliklerini kullanın.
Güzergah Oluşturma/Planlama
- Sürücüye belirli bir rota verebilir miyim veya alternatif rotaları kaldırabilir miyim?
- Hayır. Varsayılan olarak birden fazla rota sunulur ve en hızlı rotaya öncelik verilir. İsteğinize "otoyollardan ve ücretli yollardan kaçın" gibi tercihler ekleyerek varsayılan rotayı etkileyebilirsiniz. Ara nokta eklemek rotayı da etkiler.
- Uygulama kullanıcısına, varsayılan varış konumundan farklı bir varış etiketi gösterebilir miyim?
-
Evet. Android'de, hedef için özel bir başlık ve enlem/boylam içeren bir
Markeroluşturun. Navigation SDK, özel başlığı ve koordinatlarıNavigationMapüzerinde gösterir.iOS'te, hedef için bir
GMSMarkeroluşturup gösterirsiniz. - Tanımlı 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.setRouteChangedListenerkullanın:Navigator.setRouteChangedListeneryöntemini kullanarak rota boyunca cihazın 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önderme
- Cihazın konumunu takip etme
- [isteğe bağlı] Sürücü, belirlenen rotanın dışına çıktığında uygulamanızın işlemesi gereken diğer işlevleri ekleyin.
iOS'te, rota değiştiğinde veya yeni bir rota önerildiğinde bildirim almak için
GMSNavigatorve dinleyicilerini kullanın:- Haritanın görünüm denetleyicisinde
GMSNavigatorListenerprotokolünü veGMSRoadSnappedLocationProviderListenerprotokolünü uygulayın. GMSNavigatorListener.navigatorDidChangeRouteuygulayın.GMSNavigator'ninrouteLegsvecurrentRouteLegözelliklerini kullanarak yeni rotaya erişin.
-
Evet. Android'de navigasyonu durdurmak için
Navigator.stopGuidance()yöntemini çağırın.iOS'te
GMSNavigator.clearDestinationsyöntemini çağırın. - Navigation SDK, kamyonlar ve büyük araçlar için rota oluşturma ve navigasyonu destekliyor mu?
-
Evet. Büyük araç rotası (LVR) ile, Routes API veya Route Optimization API tarafından oluşturulan kamyona özel rota jetonlarını Navigation SDK'ya iletebilirsiniz. SDK, rota açıklama metinleriyle (yükseklik, ağırlık, tehlikeli madde ve kamyon kısıtlamaları) adım adım rota sağlar ve dinamik yeniden rota çizme sırasında aracın fiziksel profilini korur. Ayrıntılar için Büyük araç rotalarında gezinme başlıklı makaleyi inceleyin.
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
simulateLocationsAlongNewRouteyöntemini çağırın.simulateLocationsAlongExistingRouteyöntemi, mevcut rotadaki değişiklikleri yoksayar.iOS'te, rota değişikliği içeren bir yolculuğu simüle etmek için
GMSLocationSimulator.simulateAlongNewRouteToDestinationskullanın. Herhangi bir rota değişikliği beklemiyorsanızGMSLocationSimulator.simulateLocationsAlongExistingRouteveyaGMSLocationSimulator.simulateAlongNewRouteToDestinationskullanabilirsiniz.
İş akışları
- Gezinme parçası içeren bir etkinliği kapattıktan sonra bildirimi nasıl kapatabilirim?
-
Navigasyon bildirimi, etkinlik kapatıldığında navigasyon sırasında görünür kalır. Araç varış noktasına ulaştığında navigasyon durur ve bildirim kaybolur.
Bildirimdeki tıklamaları işlemek için
Navigator.startGuidance(intent resumeIntent)kullanın. Uygulama kullanıcısı bildirimi tıkladığındaresume intenttetiklenir. GenellikleNavigator.startguidance(getIntent()), ana etkinlikten çağrılır. Bu da uygulama kullanıcısı bildirimi tıkladığında etkinliği geri çağırır.
Mobilite Hizmetleri
Google Haritalar Platformu Mobilite Hizmetleri, taşımacılık ve lojistik işletmelerinin kurumsal ihtiyaçlarını desteklemeye yardımcı olan bir API ve SDK koleksiyonu sunar. Mobilite Hizmetleri müşterileri için Navigation SDK genellikle rota optimizasyonu, sevkiyat, görev takibi, filo analizi ve daha fazlası için ilgili hizmetlerle birlikte kullanılır. Navigation SDK, Mobilite Hizmetleri müşterileri için de farklı şekilde faturalandırılır. Daha fazla bilgi için Mobility Services belgelerine bakın.
Mobilite ürünleri 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 çağırmalıdır.
Navigation SDK'da sadece Mobilite Hizmetleri müşterileri tarafından kullanılması amaçlanan ve Google'ın işlem başına faturalandırdığı çeşitli API'ler vardır. Mobility Services müşterisi değilseniz aşağıdaki yöntemler hiçbir işlem yapmaz:
Evet, Mobilite Hizmetleri müşterileri, Navigation SDK'nın hem Mobilite Hizmetleri hem de Mobilite Hizmetleri dışındaki uygulamalarını kullanabilir. Ancak bir uygulamada aynı anda yalnızca bir uygulama türü kullanabilirsiniz. Ayrıca, Mobility Services uygulamanızda kullandıklarınızdan ayrı olarak yeni bir Google Cloud projesi, faturalandırma hesabı ve API anahtarı oluşturmanız gerekir. Daha fazla bilgi için Navigation SDK kurulumuna genel bakış başlıklı makaleyi inceleyin.
Navigation SDK'nın Mobilite Hizmetleri dışındaki bir uygulamasını kullanma (bir uygulamayı bir uygulama türünden diğerine taşıma dahil) hakkında daha fazla bilgi için Google hesap temsilcinizle iletişime geçin.
Not: Mobilite Hizmetleri müşterisi değilseniz ve Mobilite Hizmetleri API ve SDK koleksiyonu hakkında daha fazla bilgi edinmek istiyorsanız Google Haritalar Platformu satış ekibiyle iletişime geçin.