Çarpışma davranışı

Platform seçin: Android iOS JavaScript

Bu sayfada, bir işaretçiye ilişkin çakışma davranışının nasıl kontrol edileceği gösterilmektedir.

İşaretçi için çarpışma davranışını ayarlama

Çarpışma davranışı, bir işaretçi başka bir işaretçiyle çarpıştığında (örtüştüğünde) nasıl gösterileceğini kontrol eder. Gelişmiş işaretçileri oluşturma şekliniz, çakışma davranışının işleyiş şeklini belirler:

  • BitmapDescriptorFactory kullanılarak oluşturulan gelişmiş işaretçilere bit eşlem işaretçileri denir. Bu işaretçiler, ana 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üntü işaretçileri olarak adlandırılır ve ana haritanın üzerindeki bir katmanda çizilir.

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

  • CollisionBehavior.REQUIRED: (varsayılan) Çarpışmadan bağımsız olarak işaretçiyi her zaman göster.
  • CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL Çarpışmadan bağımsız olarak işaretçiyi her zaman gösterin ve işaretçiyle OPTIONAL_AND_HIDES_LOWER_PRIORITYörtüşecek işaretçileri veya etiketleri gizleyin.
  • CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY İşaretçiyi yalnızca diğer işaretçilerle çakışmıyorsa görüntüleyin.

    • İki bitmap işaretçisi çakışırsa zIndex değeri daha yüksek olan işaretçi gösterilir. Bunlar aynı zIndex değerine sahipse dikey ekran konumu en düşük olanı gösterilir. zIndex hakkında daha fazla bilgi için İşaretçi Z-endeksi'ne bakın.

    • İki görüntüleme işaretçisi çakışırsa zIndex değeri daha yüksek olan işaretçi gösterilir. Bunlar aynı zIndex değerine sahipse son oluşturulan işaretçi, kendisinden önce oluşturulan tüm işaretçilerle çakışır.

    • Görünüm işaretçileri, bitmap işaretçilerinin üzerindeki bir katmanda çizildiğinden görünüm işaretçileri bitmap işaretçileriyle çakışır. Dolayısıyla, daha iyi çarpışma kontrolü için aynı türde işaretçiler kullanmaya çalışmalısınız.

Aşağıdaki örnekte bir işaretçi için çakışma davranışı ayarlama 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);