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. Ş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ğ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ü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 öğ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.

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:

  1. Navigator.getTimeAndDistanceList() kullanarak tüm yol işaretlerinin 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() kullanarak yolculuktaki bacakları alın.
  2. Her yolculuk bölümü için GMSNavigator.timeToNextDestination numaralı telefonu arayın.
  3. Ş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 ve allowsBackgroundLocationUpdates 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.

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

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

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

  1. GMSNavigator.routeLegs(read) Hizmetleri İçin Arayın.
  2. Son aşamada GMSNavigator.timeToNextDestination'ü arayın.
  3. MSMapView.settings.navigationFooterEnabled=NO değerini FALSE olarak ayarlayarak mevcut yol noktasının TVS'sini gizleyebilirsiniz.
  4. 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.
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 öğesini kullanırsınız. Başlığı 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. Başlığı 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 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:

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

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

Hareketlilik Hizmetleri

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

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.

Mobility Services müşterisi olup olmadığımı nasıl öğrenebilirim?
Navigasyon SDK'sını şu anda 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 çağırmalı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 fiyatı, 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ılmasını sağlama hakkında bilgi edinmek için Fatura doğrulaması bölümüne bakın. Mobility Services faturalandırması hakkında daha fazla bilgi için satış temsilcinizle iletişime geçin.

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