Platform seçin: Android iOS

Gerçek zamanlı kesintileri yapılandırma

Anlık kesintiler, kullanıcıları rotaları üzerindeki kesintiler konusunda uyaran ve karşılaştıkları kesintileri bildirmelerine ve doğrulamalarına olanak tanıyan bir özellikler topluluğudur. Araç kazaları, trafik sıkışıklığı, polis ve hız kamerası varlığı, inşaat, şerit kapatma ve belirli hava koşulları, aksaklıklara örnek olarak verilebilir. Bu sayfada, özel gezinme kullanıcı arayüzlerini kullanan uygulamalarla ilgili hususlar da dahil olmak üzere anlık kesinti özellikleri ve bunların yapılandırma seçenekleri açıklanmaktadır.

Gerçek zamanlı aksaklık özellikleri

Navigation SDK, temel navigasyon deneyiminin bir parçası olarak aşağıdaki gerçek zamanlı aksaklık özelliklerini içerir:

Bu özellikler yapılandırılabilir ve varsayılan olarak etkindir. Aşağıdaki bölümlerde, özellikler ve kullanılabilir yapılandırma seçenekleri hakkında daha fazla bilgi verilmektedir.

Rotalar boyunca etkileşimli aksaklık açıklama metinleri

Bir uygulama, rota genel görünümünde veya etkin gezinme sırasında bir rota gösterdiğinde mevcut aksaklıklar, rota boyunca açıklama metinleri olarak görünür. Açıklama metinlerinde, kesintinin türünü gösteren bir simge bulunur.

Rotalar üzerindeki açıklama metinleri

setTrafficPromptsEnabled simgesini kullanarak rotalardaki aksaklık açıklama metinlerinin gösterilmesini kontrol edebilirsiniz. Bu simge, kullanıcı bir aksaklığa yaklaştığında otomatik uyarıların gösterilmesini de kontrol eder.

// Using the SupportNavigationFragment
mNavFragment.setTrafficPromptsEnabled(true);

// Using the NavigationView
navigationView.setTrafficPromptsEnabled(true);

Kullanıcı bir açıklama metnine dokunduğunda kesinti ayrıntılarını gösterme

Kullanıcılar, kesinti türü, son bildirilme zamanı ve bazı durumlarda kesintinin hâlâ devam edip etmediğiyle ilgili oylama seçeneği de dahil olmak üzere kesinti hakkında daha fazla bilgi içeren bir bilgi kartı görüntülemek için bir açıklama metnine dokunabilir. Kullanıcının aktif gezinmede olup olmamasına bağlı olarak iki farklı bilgi kartı türü gösterilebilir ve her tür için yapılandırma seçenekleri farklıdır.

Aktif navigasyonu başlatmadan önce rota genel bakışlarında açıklama metni bilgi kartları

Kullanıcı, aktif navigasyonu başlatmadan önce bir rota genel görünümünde açıklama metnine dokunduğunda kesinti hakkında daha fazla bilgi içeren bir bilgi kartı gösterilir.

Genel bakış bilgi kartı

setTrafficIncidentCardsEnabled simgesini kullanarak kullanıcıların, rota özetlerindeki aksaklık açıklama metinlerine dokunarak daha fazla bilgi görüntüleme özelliğini kontrol edebilirsiniz.

// Using the SupportNavigationFragment
mNavFragment.setTrafficIncidentCardsEnabled(true);

// Using the NavigationView
navigationView.setTrafficIncidentCardsEnabled(true);

Etkin navigasyon sırasında açıklama metni bilgi kartları

Etkin gezinme sırasında bir rota üzerinde aksaklık açıklama metni göründüğünde kullanıcılar, aksaklık türü ve son bildirilme zamanı da dahil olmak üzere aksaklıkla ilgili daha fazla bilgi içeren bir bilgi kartını görüntülemek için açıklama metnine dokunabilir. Ayrıca, aksaklığın devam edip etmediğiyle ilgili oylama düğmelerini de görebilirler. Kullanıcılar tarafından gönderilen oylar Google tarafından işlenir ve diğer Google Haritalar kullanıcıları ile Navigation SDK kullanıcıları için haritada gösterilebilir. Ayrıca, kesintinin gösterilmeye devam edilip edilmeyeceğini belirlemek için de kullanılabilir.

Etkin navigasyon bilgi kartı

setTrafficPromptsEnabled simgesini kullanarak aktif navigasyon sırasında aksaklık açıklama metinlerinin gösterilmesini ve bunlara dokunulabilmesini kontrol edebilirsiniz. Bu simge, rotalar üzerindeki açıklama metinlerinin gösterilmesini ve kullanıcı bir aksaklığa yaklaştığında otomatik uyarıların gösterilmesini de kontrol eder.

// Using the SupportNavigationFragment
mNavFragment.setTrafficPromptsEnabled(true);

// Using the NavigationView
navigationView.setTrafficPromptsEnabled(true);

Etkin navigasyon sırasında oylama özelliğiyle otomatik kesinti uyarıları

Etkin gezinme sırasında, bir kullanıcı rotasında bir aksaklığa yaklaştığında aksaklıkla ilgili bilgilerin yer aldığı bir istem ve aksaklığın hâlâ devam edip etmediğine dair oylama düğmeleri gösterilir. Kullanıcılar tarafından gönderilen oylar Google tarafından işlenir ve diğer Google Haritalar ve Navigation SDK kullanıcıları için haritada gösterilebilir. Ayrıca, kesintinin gösterilmeye devam edilip edilmeyeceğini belirlemek için de kullanılabilir.

Etkin navigasyon bilgi kartı

Etkin gezinme sırasında uyarı istemlerinin gösterilmesini setTrafficPromptsEnabled simgesini kullanarak yapılandırabilirsiniz. Bu simge, rotalar üzerindeki açıklama metinlerinin gösterilmesini de kontrol eder.

// Using the SupportNavigationFragment
mNavFragment.setTrafficPromptsEnabled(true);

// Using the NavigationView
navigationView.setTrafficPromptsEnabled(true);

Etkin navigasyon sırasında kesinti bildirme

Etkin gezinme modunda, gezinme kullanıcı arayüzünde, kullanıcıların rotaları üzerindeki yeni aksaklıkları bildirmesine olanak tanıyan bir düğme görünür. Kullanıcı düğmeye dokunduğunda, bildirilebilecek aksaklık türlerinin yer aldığı bir menü gösterilir. Kullanıcıların gönderdiği raporlar Google tarafından işlenir ve diğer Google Haritalar ile Navigation SDK kullanıcıları için haritada gösterilebilir.

Bildirme düğmesi Raporlama menüsü

Standart raporlama düğmesini gösterme veya gizleme

setReportIncidentButtonEnabled kullanarak etkin gezinme sırasında standart raporlama düğmesinin görünürlüğünü yapılandırabilirsiniz. setReportIncidentButtonEnabled .

// Enables the incident reporting button to show in situations where incident
// reporting is possible.

// Using the SupportNavigationFragment
mNavFragment.setReportIncidentButtonEnabled(true);

// Using the NavigationView
navigationView.setReportIncidentButtonEnabled(true);

Özel bir bildirim düğmesi ekleme

Standart kesinti raporlama düğmesi yerine, gezinme kullanıcı arayüzüne özel bir raporlama düğmesi ekleyebilirsiniz. Kullanıcı özel düğmeyi tıkladığında showReportIncidentsPanel yöntemini çağırarak raporlama menüsünün gösterilmesini tetikleyebilirsiniz. Özel raporlama düğmesi eklemeden önce, isIncidentReportingAvailable işlevini çağırarak uygulamanın etkin gezinmede olduğunu ve kullanıcının raporlamanın etkinleştirildiği bir ülkede bulunduğunu doğrulayın. Bu koşullardan biri karşılanmıyorsa raporlama menüsü görünmez.

  Button customReportIncidentButton = findViewById(R.id.custom_reporting_button);
  
  // Check if reporting is available before displaying your button
  customReportIncidentButton.setVisibility(
      navigationView.isReportingAvailable ? View.VISIBLE : View.GONE);
  
  // Trigger the reporting flow if the button is clicked
  customReportIncidentButton.setOnClickListener(v ->
      navigationView.showReportIncidentsPanel());
  

Özel gezinme kullanıcı arayüzleriyle çalışma

Navigation SDK'yı uygulamanızda özel kullanıcı arayüzü öğeleri varsa çakışmaları önlemek için anlık kesinti öğelerini göz önünde bulundurmanız gerekir.

Raporlama düğmesinin konumu

Aksaklık bildirme düğmesi varsayılan olarak haritanın alt ucunda/son köşesinde bulunur. Soldan sağa dillerde sağ tarafta, sağdan sola dillerde ise sol taraftadır. Özel kullanıcı arayüzü öğelerine yer açmak için raporlama düğmesini taşımanız gerekiyorsa BOTTOM_END_BELOW veya FOOTER özel kontrolü ekleyin. Bu kontrol, düğmenin ekrandaki konumunu yukarı iter. Kendi özel kullanıcı arayüzlerinizi özel denetimlerin içine yerleştirmek, Navigation SDK tarafından gösterilen tüm istemlerin gösterilirken özel kullanıcı arayüzü öğelerinizin üzerine düzgün şekilde yerleştirilmesini de sağlar. Özel kontrolleri kullanamıyorsanız olası kullanıcı arayüzü çakışmalarını yönetmek için Prompt Visibility API'yi kullanın.

Prompt Visibility API (Deneysel)

Prompt Visibility API, bir Navigation SDK kullanıcı arayüzü öğesi görünmeden önce ve öğe kaldırılır kaldırılmaz geri çağırma almak için bir dinleyici ekleyerek Navigation SDK tarafından oluşturulan kullanıcı arayüzü öğeleri ile kendi özel kullanıcı arayüzü öğeleriniz arasındaki çakışmaları önlemenize yardımcı olur. Bilgi kartları, istemler ve kesinti raporlama menüsü gibi anlık kesinti öğeleriyle ilgili geri aramaların yanı sıra Navigation SDK tarafından oluşturulan diğer bildirimler için de geri arama alabilirsiniz.
// Sample listener
val listener: PromptVisibilityChangedListener = { isVisible ->
	if (isVisible) {
		customFab.visibility = false
		customFooter.visibility = false
		moveSomeOtherThingsAround()
	} else {
		customFab.visibility = true
		customFooter.visibility = true
		moveSomeThingsBackToWhereTheyWereBefore()
	}
}

// Inside onCreate()
navigationView.addPromptVisibilityChangedListener(listener)

// Inside onDestroy()
navigationView.removePromptVisibilityChangedListener(listener)