Platform seçin: Android iOS

Anlık 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.

Anlık aksaklık özellikleri

Navigasyon SDK'sı, temel navigasyon deneyiminin bir parçası olarak aşağıdaki anlık 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çıklamaları

Bir uygulama, rotaya genel bakışta veya etkin navigasyon sırasında bir rota gösterdiğinde mevcut tüm aksaklıklar rota boyunca açıklama metinleri olarak görünür. Trafik katmanını etkinleştirdiğinizde rota dışı aksamalar da haritada gösterilir. Açıklama metinlerinde, kesintinin türünü gösteren bir simge bulunur.

Rotalar üzerindeki açıklama metinleri

setTrafficPromptsEnabled simgesini kullanarak rotalar üzerindeki 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

Bir kesinti açıklama metnine dokunduğunuzda daha fazla ayrıntı içeren bir bilgi kartı açılır. Bu durum, hem rota üzerindeki hem de rota dışındaki anonslar için geçerlidir. Ancak rota dışındaki anonslar yalnızca trafik katmanı etkinleştirilmişse gösterilir. Kartta kesinti türü, en son raporlanma zamanı ve bazen de kesintinin devam edip etmediğiyle ilgili oylama seçeneği gösterilir. Bilgi kartı türü ve yapılandırma seçenekleri, kullanıcının etkin gezinme durumunda olup olmamasına göre değişir.

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

Kullanıcılar, aktif navigasyonu başlatmadan önce haritada veya rotaya genel bakışta rota üzerinde ya da rota dışında bir açıklama balonuna dokunarak bilgi kartını açabilir. Rota dışı uyarılar için trafik katmanının etkinleştirilmesi gerekir. Bilgi kartında kesintiyle ilgili daha fazla ayrıntı yer alır.

Genel bakış bilgi kartı

setTrafficIncidentCardsEnabled 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ı

Kullanıcılar, aktif navigasyon sırasında rota üzerinde veya rota dışında bir aksaklık duyurusuna dokunarak bilgi kartını açabilir. Kartta kesinti türü ve son bildirim zamanı gösterilir. Ayrıca, kullanıcıların kesintinin devam edip etmediği konusunda oy kullanabileceği düğmeler bulunur.

Oylama, yol kapanmaları hariç olmak üzere kullanıcının 5 km yakınındaki rota üzerinde ve rota dışındaki aksaklıklar için kullanılabilir. Google, kesintinin gösterilmeye devam edilip edilmeyeceğini belirlemek için bu oyları işler. Oylar, diğer Google Haritalar ve Navigation SDK kullanıcılarının haritasında da görünebilir.

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 boyunca 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 aksaklık uyarıları

Etkin gezinme sırasında, bir kullanıcı rotadaki bir aksaklığa yaklaştığında aksaklıkla ilgili bilgilerin yer aldığı bir istem ve aksaklığın hâlâ devam edip etmediğiyle ilgili 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 aksaklık bildirme

Etkin gezinme modunda, gezinme kullanıcı arayüzünde bir düğme görünür. Bu düğme, kullanıcıların rotaları üzerindeki yeni aksaklıkları bildirmesine olanak tanır. Kullanıcı düğmeye dokunduğunda, bildirilebilecek kesinti 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 ve Navigasyon SDK'sı kullanıcıları için haritada gösterilebilir.

Bir yolun kapalı olduğunu bildirmek, engellenen segmenti atlamak için alternatif bir rota sunabilir ve kullanıcıdan yeniden yönlendirmeyi onaylamasını veya reddetmesini isteyebilir. Bu özellik, kullanılabilirliğe tabidir.

Bildirme düğmesi Raporlama menüsü

Standart raporlama düğmesini gösterme veya gizleme

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

Navigasyon SDK'sını uygulamanızda özel kullanıcı arayüzü öğeleri varsa çakışmaları önlemek için gerçek zamanlı kesinti öğelerini göz önünde bulundurmanız gerekir.

Bildirme düğmesinin konumu

Aksaklık bildirme düğmesi varsayılan olarak haritanın alt ucunda/son köşesinde bulunur. Soldan sağa okunan dillerde sağ tarafta, sağdan sola okunan 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. Özel kontrollerin içine kendi özel kullanıcı arayüzlerinizi 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 denetimleri 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)

İstem Görünürlüğü API'si, 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 aksaklık raporlama menüsü gibi anlık aksaklık öğ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)