Çarpışma davranışı

Platform seçin: Android iOS JavaScript

Bu sayfada, bir işaretçinin çakışma davranışını nasıl kontrol edeceğiniz gösterilmektedir.

İşaretçi için çakışma davranışı ayarlama

Çakışma davranışı, bir işaretçinin başka bir işaretçiyle çakışması (üst üste binmesi) durumunda nasıl görüntüleneceğini kontrol eder. Gelişmiş işaretçi oluşturma yönteminiz, çakışma davranışının işleyiş şeklini belirler:

  • BitmapDescriptorFactory kullanılarak oluşturulan gelişmiş işaretçiler, bit eşlem işaretçileri olarak adlandırılır. Bu işaretçiler temel harita tarafından çizilir.

  • AdvancedMarkerOptions.iconView() yöntemi kullanılarak oluşturulanlar da dahil olmak üzere diğer tüm gelişmiş işaretçiler, görünüm işaretçileri olarak adlandırılır ve temel haritanın üzerindeki bir katmanda çizilir.

Çakışma davranışını ayarlamak için AdvancedMarkerOptions.collisionBehavior değerini aşağıdakilerden birine ayarlayın:

  • CollisionBehavior.REQUIRED: (varsayılan) Çakışmadan bağımsız olarak her zaman işaretçiyi gösterir.
  • CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL Çakışmadan bağımsız olarak işaretçiyi her zaman gösterir ve işaretçiyle çakışacak tüm OPTIONAL_AND_HIDES_LOWER_PRIORITY işaretçileri veya etiketleri gizler.
  • CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY İşaretçiyi yalnızca diğer işaretçilerle çakışmıyorsa göster.

    • İki bit eşlem işaretçi çakışıyorsa daha yüksek zIndex değerine sahip olan gösterilir. Aynı zIndex öğesine sahipse dikey ekran konumu daha düşük olan gösterilir. zIndex hakkında daha fazla bilgi için Marker z-index başlıklı makaleyi inceleyin.

    • İki görünüm işaretçisi çakışırsa daha yüksek zIndex değerine sahip olan gösterilir. Aynı zIndex değerine sahiplerse son oluşturulan işaretçi, kendisinden önce oluşturulan tüm işaretçilerle çakışır.

    • Görünüm işaretçileri, bit eşlem işaretçilerinin üzerindeki bir katmana çizildiğinden görünüm işaretçileri, bit eşlem işaretçileriyle çakışır. Bu nedenle, daha iyi çarpışma kontrolü için aynı türden işaretçiler kullanmaya çalışmalısınız.

Aşağıdaki örnekte, bir işaretçi için çakışma davranışının nasıl ayarlanacağı gösterilmektedir:

Kotlin

// Collision behavior can only be changed in the AdvancedMarkerOptions object.
// Changes to collision behavior after a marker has been created are not possible
val collisionBehavior: Int = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions()
    .position(LatLng(10.0, 10.0))
    .collisionBehavior(collisionBehavior)

val marker: Marker = map.addMarker(advancedMarkerOptions) ?: error("Failed to add marker")

      

Java

// Collision behavior can only be changed in the AdvancedMarkerOptions object.
// Changes to collision behavior after a marker has been created are not possible
int collisionBehavior = AdvancedMarkerOptions.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL;
AdvancedMarkerOptions options = new AdvancedMarkerOptions()
        .position(new LatLng(10.0, 10.0))
        .collisionBehavior(collisionBehavior);

Marker marker = map.addMarker(options);