Sık Sorulan Sorular

Ürün bilgileri

Sorunlar

Veriler

Kullanıcı Arayüzü Özelleştirme

Yönlendirme

Simülatör

İş akışları

Mobilite Hizmetleri

Ü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 kenarı 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ğerini YES 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 öğesini Excluded 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.

Navigation SDK, zayıf bağlantıyı nasıl ele alır?
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:

  1. Navigator.getTimeAndDistanceList() kullanarak tüm yol noktalarının süresini ve mesafesini alın.
  2. Ş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:

  1. Navigator.getRouteSegments() simgesini kullanarak yolculuktaki bacakları alın.
  2. Her yolculuk aşaması için GMSNavigator.timeToNextDestination numaralı telefonu arayın.
  3. Sürücünün tahmini varış zamanı için şu anda 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ışır durumda tutmak için GMSRoadSnappedLocationProviderListener için dinleyiciyi uygulayın ve allowsBackgroundLocationUpdates 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.

  1. Geri aramaların sıklığını belirlemek için eşiği ayarlayın.
  2. 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:

  1. Navigator.getTimeAndDistanceList() kullanarak tüm yol noktalarının süresini ve mesafesini alın.
  2. NavigationFragment.setEtaCardEnabled(false) simgesini kullanarak mevcut yol noktasının TVS'sini gizleyin.
  3. Nihai hedefe varış tahmini süresini oluşturun.

iOS'te aşağıdakileri kullanın:

  1. GMSNavigator.routeLegs(read) Hizmetleri İçin Arayın.
  2. Son aşamada GMSNavigator.timeToNextDestination numaralı telefonu arayın.
  3. Mevcut yol noktasının TVS'sini gizlemek için MSMapView.settings.navigationFooterEnabled=NO değerini FALSE olarak ayarlayın.
  4. 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 simgesini kullanın.
Başlık ve altbilgi kartları için hangi kullanıcı arayüzü özelleştirmeleri kullanılabilir?

Android'de arka plan rengini ayarlamak için StylingOptions simgesini kullanın. Üstbilgi ve altbilgiyi gizlemek veya göstermek için NavigationFragment sınıfının setHeaderEnabled ve setFooterEnabled ü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çin GMSUISettings öğesinin navigationFooterEnabled ve navigationHeaderEnabled ö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 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 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:

  1. Navigator.setRouteChangedListener yöntemini kullanarak rotadaki cihaz konumunu kontrol eden bir dinleyici kaydedin.
  2. 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:

  1. Haritanın görüntü kontrol cihazında GMSNavigatorListener protokolünü ve GMSRoadSnappedLocationProviderListener protokolünü uygulayın.
  2. GMSNavigatorListener.navigatorDidChangeRoute'ü uygulayın.
  3. GMSNavigator öğesinin routeLegs ve currentRouteLeg özelliklerini kullanarak yeni yola erişin.
Sürücü, rotayı tamamlamadan navigasyondan çıkabilir mi?

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 seçeneğini kullanın. Rota değişiklikleri beklemiyorsanız GMSLocationSimulator.simulateLocationsAlongExistingRoute veya GMSLocationSimulator.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. Genellikle Navigator.startguidance(getIntent()), uygulama kullanıcısı bildirimi tıkladığında etkinliği geri çağıran ana etkinlikten çağrılır.

Mobilite Hizmetleri

Navigasyon SDK'sının kullanımı Mobility Services müşterileri için nasıl farklı?

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.

Mobility Services müşterisi olup olmadığımı nasıl öğrenebilirim?
Navigasyon SDK'sını Mobility Services müşterisi olarak uygulayıp uygulamadığınızdan emin değilseniz kodunuzda ReportBillableEvent çağrısı olup olmadığına bakın. Yalnızca Mobility Services müşterileri ReportBillableEvent yöntemini kullanmalıdır.

Navigasyon SDK'sı, Mobility Services müşterileri için nasıl faturalandırılır?
Mobilite Hizmetleri müşterileri için Navigasyon SDK'sının faturalandırması ve fiyatlandırması, Google Haritalar Platformu ile yaptığınız hizmet sözleşmesine bağlıdır. Mobilite Hizmetleri uygulamanızın doğru şekilde faturalandırıldığından emin olma hakkında bilgi edinmek için Fatura doğrulaması başlıklı makaleyi inceleyin. Mobilite Hizmetleri faturalandırması hakkında daha fazla bilgi için satış temsilcinizle iletişime geçin.

Hangi Navigasyon SDK API'leri yalnızca Mobility Services müşterileri tarafından kullanılmalı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:

Mobility Services müşterisiysem Navigasyon SDK'sının Mobility Services dışındaki bir uygulamasını da kullanabilir miyim?

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 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.