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ü gezinme modundan çıktığında yön korunuyor mu?
- Rota başlatılırken veya değiştirilirken çoklu çizgiler kullanılabilir mi?
- Uygulama kullanıcılarının Google Haritalar mobil uygulamasını yüklemesi gerekir mi?
- 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 oluşturulmuyor. Bu sorunu nasıl düzeltebilirim?
GMSMapViewyüklenmiyor.
Ağ
Veriler
- Rotayı başlatmadan önce bir yolculuktaki tüm durakları/hedefleri alabilir miyim?
- Rotanın başlangıcında adım adım rota kılavuzu mevcut mu?
- Tahmini varış zamanı (TVZ) uygulama kullanıcılarına nasıl bildirilir?
- Navigasyon ön planda değilse sürücünün
RoadSnappedLocationProvidermevcut sabit konumunu almak için kullanılabilir mi? - Navigation SDK, coğrafi sınırlama özelliğini destekliyor mu?
- Navigasyon uygulaması arka plandayken bildirimleri devre dışı bırakabilir miyim?
Kullanıcı Arayüzünü Özelleştirme
- En iyi rota seçeneğini renk kodlarıyla belirtebilir miyim?
- Navigasyon SDK'sı, nihai varış noktası için tahmini varış zamanını 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, hedef için varsayılan hedef konumdan farklı bir etiket gösterebilir miyim?
- Belirli bir yoldan sapmaları izlemek için Navigation SDK'yı kullanabilir miyim?
- Sürücü, rotayı tamamlamadan navigasyondan çıkabilir mi?
- Navigasyon SDK'sı, kamyonlar ve büyük araçlar için rota oluşturma ve navigasyonu destekliyor mu?
Simülatör
İş akışları
Mobilite Hizmetleri
- Mobilite Hizmetleri müşterileri için Navigation SDK'nın kullanımı nasıl farklıdır?
- Mobility Services müşterisi olup olmadığımı nasıl anlayabilirim?
- Mobilite Hizmetleri müşterileri için Navigation SDK 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ı bildirimi içeren bir iletişim kutusu uygulanmalı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 ile birlikte sağlanır.
- Android'de, şartları içeren iletişim kutusunu göstermek için
NavigationApi.showTermsAndConditionsDialogyöntemini kullanın. - iOS'te arama yapın
GMSNavigationServices.showTermsAndConditionsDialogIfNeededWithCompanyName. - 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 uygulamalar 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ı için Google Haritalar Mobil'in cihaza yüklenmesi gerekmez.
- Hayır, Navigation SDK şu anda bu işlevi sağlamamaktadır.
- Evet. Trafik yönü varsayılan olarak kullanılabilir ve gösterilir.
Sorunlar
- Xcode 12'de uygulamalar simülatör için doğru şekilde derlenmez. 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 Architecturesalanınaarm64değerini ekleyin.Daha fazla bilgi için aşağıdaki StackOverflow iş parçacığına bakın.
- GMSMapView yüklenmiyor.
-
GMSMapView yüklenmiyorsa:
- Cloud Console'da NavSDK'nın etkinleştirildiğini kontrol edin.
- Nav SDK yüklüyse ancak projenizde Nav SDK API'leri kullanılmıyorsa SDK'yı ikili programınızdan kaldırın.
Ağ
- Navigasyon SDK'sı zayıf bağlantıyı nasıl ele alır?
- Navigasyon SDK'sı, her yolculuk için rotayı önceden önbelleğe alır. Önceden önbelleğe alınan bilgiler arasında 15-20 dakikalık rota bilgileri ve sürücünün rotadan sapması durumunda rota alternatifleri yer alır. Navigation SDK, cihazın GPS'ini ve sensörlerini kullanarak konumu yaklaşık olarak belirler.
- Çevrimdışı mod var mı?
- Hayır, Navigasyon SDK'sı şu anda çevrimdışı mod sunmamaktadır ancak SDK, yolculuk için önceden önbelleğe alınmış bilgiler sağlar.
Veriler
- Rota başlamadan önce bir yolculuktaki tüm durakları/varış noktalarını alabilir miyim?
-
Evet. Android'de bir rotanın yol tarifini almak için
Navigator.getRouteSegments()işlevini çağırın.iOS'te
GMSNavigator.routeLegs(read)numarasını arayın. - Rotanın başlangıcında adım adım rota kılavuzu mevcut mu?
- Evet. Navigation SDK, rota segmentlerinin bir listesini sağlar. Ayrıca sürücü, her manevrayı görmek için üstbilgideki yol tarifi kartını kaydırabilir.
- TVS, uygulama kullanıcılarına nasıl bildirilir?
-
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 alın.- Bu bilgiyi, sürücünün tahmini varış zamanı için yaptığınız gibi istemci uygulamasına yönlendirin.
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. - Her yolculuk ayağı için
GMSNavigator.timeToNextDestinationyöntemini çağırın. - Sürücünün tahmini varış zamanı için yaptığınız gibi, zaman bilgilerini istemci uygulamasına yönlendirin.
-
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 gezinmenin arka planda çalışmaya devam etmesi için
GMSRoadSnappedLocationProviderListenerdinleyicisini uygulayın veallowsBackgroundLocationUpdatesözelliğiniTRUEolarak ayarlayın. - Navigasyon SDK'sı coğrafi sınırlama özelliğini destekliyor mu?
-
Hayır. Navigasyon bağlamında
remainingTimeOrdistanceChangeListener, coğrafi sınıra göre daha avantajlıdır. Coğrafi sınırlama, yol geometrisini dikkate almayabilir ve sürücünün yol tarifi aldığı tam nokta üzerinde ortalanmayabilir.Bu işlevselliği
remainingTimeOrdistanceChangeListenerkullanarak 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 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 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.setHeadsUpNotificationEnabledsimgesini kullanın. Bu yöntemin bir boolean bağımsız değişkeni vardır.FALSEbildirimleri devre dışı bırakır;TRUEbildirimleri etkinleştirir.iOS'te,
GMSRoadSnappedLocationProvider.allowsBackgroundLocationUpdatesdeğerini HAYIR 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ünü Özelleştirme
- En iyi rota seçeneğini renklendirebilir miyim?
- Hayır. Belirli bir rota seçeneğini renk kodlaması şu anda desteklenmiyor.
- Navigation SDK, 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 ara noktanın TVS'sini gizleyin.- Nihai varış noktası tahmini varış zamanını oluşturun.
iOS'te aşağıdakileri kullanın:
GMSNavigator.routeLegs(read)Hizmetleri İçin Arayın.- Son ayağı arayın.
GMSNavigator.timeToNextDestination MSMapView.settings.navigationFooterEnabled=NOdeğerini FALSE olarak ayarlayarak mevcut ara noktanın TVS'sini gizleyin.- Nihai varış noktası tahmini varış zamanını oluşturun.
- Tahmini varış zamanı 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 sağlayabilir miyim 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 yollardan kaçın" gibi tercihler ekleyerek varsayılan rotayı etkileyebilirsiniz. Ara nokta 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 başlığa sahip bir
Markeroluşturun. Navigation SDK,NavigationMapüzerinde özel başlığı ve koordinatları gösterir.iOS'te hedef için
GMSMarkeroluşturup görüntülersiniz. - Tanımlanmış bir yoldan sapmaları izlemek için Navigation SDK'yı kullanabilir miyim?
-
Evet. Android'de, rota değiştiğinde veya yeni bir rota önerildiğinde bildirim almak için
Navigator.setRouteChangedListenersimgesini kullanın:Navigator.setRouteChangedListeneryöntemini kullanarak rota üzerindeki cihaz konumunu kontrol eden bir dinleyici kaydedin.- Geri çağırma etkinlik işleyicisine kod ekleyin,
onRouteChanged:- Uygulama kullanıcısına güncellenmiş TVS ve mesafe bilgilerini içeren bir mesaj gönderin.
- Cihazın konumunu takip edin.
- [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, bir 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. - Uygulayın
GMSNavigatorListener.navigatorDidChangeRoute. GMSNavigator'nınrouteLegsvecurrentRouteLegözelliklerini kullanarak yeni rotaya erişin.
-
Evet. Android'de navigasyonu durdurmak için
Navigator.stopGuidance()yöntemini çağırın.iOS'te
GMSNavigator.clearDestinationsnumarasını arayın. - Navigasyon SDK'sı, kamyonlar ve büyük araçlar için rota oluşturma ve navigasyonu destekliyor mu?
-
Evet. Büyük araç rotası oluşturma (LVR) ile, Rotalar API'si veya Rota Optimizasyonu API'si tarafından oluşturulan kamyona özel rota jetonlarını Navigation SDK'ya iletebilirsiniz. SDK, rota açıklamaları (yükseklik, ağırlık, tehlikeli madde ve kamyon kısıtlamaları) ile adım adım navigasyon sağlar ve dinamik yeniden yönlendirme 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ı
- Bir gezinme parçası içeren etkinliği kapattıktan sonra bildirimi nasıl kapatabilirim?
-
Etkinlik kapatıldığında navigasyon bildirimi, 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)simgesini kullanın.resume intent, uygulama kullanıcısı bildirimi tıkladığında tetiklenir. GenellikleNavigator.startguidance(getIntent()), ana etkinlikten çağrılır. Bu etkinlik, 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 dizi API ve SDK sunar. Mobilite Hizmetleri müşterileri için Navigation SDK, genellikle rota optimizasyonu, sevkiyat, görev takipçisi, 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 belgelerini inceleyin.
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 Mobilite Hizmetleri 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, Mobilite Hizmetleri 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.
Bir uygulamayı bir uygulama türünden diğerine taşıma da dahil olmak üzere Navigation SDK'nın Mobility Services dışı bir uygulamasını kullanma 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'leri ve SDK'ları koleksiyonu hakkında daha fazla bilgi edinmek istiyorsanız Google Haritalar Platformu satış ekibiyle iletişime geçin.