Sık Sorulan Sorular

Ürün Bilgileri

Veriler

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

Yönlendirme

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ğerini YES 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.

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:

  1. Navigator.getTimeAndDistanceList() kullanarak tüm ara noktalar için süreyi ve mesafeyi alın.
  2. 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:

  1. Yolculuk sırasında Navigator.getRouteSegments() kullanarak bacakları alın.
  2. Yolculuğun her aşaması için GMSNavigator.timeToNextDestination numaralı telefonu arayın.
  3. Ş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'te, gezinmenin arka planda çalışmaya devam etmesi için GMSRoadSnappedLocationProviderDelegate yetkisini uygulayın ve allowsBackgroundLocationUpdates özelliğini TRUE 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.

  1. Geri çağırmaların sıklığını belirlemek için eşiği ayarlayın.
  2. 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 yetki verilmiş GMSNavigatorDelegate.didUpdateRemainingDistance özelliğini 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, GMSRoadSnappedLocationProviderDelegate.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.

İşlem kaydedici, Google'ın faturalandırma amacıyla günlüğe kaydettiği teslim alma ve bırakma işlemlerini benzersiz bir kimlikle izler. Daha fazla bilgi için platformunuza yönelik Uygulama Testi Talimatları bölümüne bakın:

Faturalandırma işlemlerinin kodlama yönleri hakkında bilgi için Faturalandırılabilir İşlemler bölümüne bakı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:

  1. Navigator.getTimeAndDistanceList() kullanarak tüm ara noktalar için süreyi ve mesafeyi alın.
  2. NavigationFragment.setEtaCardEnabled(false) kullanarak geçerli ara noktanın TVS'sini gizleyin.
  3. Son hedef TVS'yi oluşturun.

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

  1. GMSNavigator.routeLegs(read) Hizmetleri İçin Arayın.
  2. Son aşama olarak GMSNavigator.timeToNextDestination numaralı telefonu arayın.
  3. FALSE için MSMapView.settings.navigationFooterEnabled=NO kullanarak geçerli ara noktanın TVS'sini gizleyin.
  4. 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.
Üstbilgi ve altbilgi kartları için hangi kullanıcı arayüzü özelleştirmeleri kullanılabilir?

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

  1. Navigator.setRouteChangedListener yöntemini kullanarak rota boyunca cihazın konumunu kontrol eden bir işleyici kaydedin.
  2. 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 ürününü ve yetki verilmiş kullanıcıları kullanın:

  1. Haritanın görünüm denetleyicisinde GMSNavigatorDelegate protokolünü ve GMSRoadSnappedLocationProviderDelegate protokolünü uygulayın.
  2. GMSNavigatorDelegate.navigatorDidChangeRoute uygulayın.
  3. GMSNavigator öğesinin routeLegs ve currentRouteLeg özelliklerini kullanarak yeni rotaya erişin.
Sürücü rotayı tamamlamadan navigasyondan çıkabiliyor mu?

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ız GMSLocationSimulator.simulateLocationsAlongExistingRoute veya GMSLocationSimulator.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ığında resume 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.