Çarpışma davranışı

Platform seçin: Android iOS JavaScript

Bu sayfa, bir işaretçi için çakışma davranışını nasıl kontrol edeceğinizi gösterir.

Bir işaretçi için çakışma davranışını ayarla

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

  • BitmapDescriptorFactory kullanılarak oluşturulan gelişmiş işaretçilere bit eşlem işaretçileri denir. Bu işaretçiler, çekirdek harita tarafından çizilir.

  • AdvancedMarkerOptions.iconView() yöntemi kullanılarak oluşturulanlar da dahil olmak üzere diğer tüm gelişmiş işaretçilere görünüm işaretçileri adı verilir ve bu işaretçiler, ana haritanın üzerindeki bir katman üzerinde çizilir.

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

  • CollisionBehavior.REQUIRED: (varsayılan) Çarpışmalardan bağımsız olarak işaretçiyi her zaman görüntüle.
  • CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL Çarpışmalardan bağımsız olarak işaretçiyi her zaman görüntüleyin ve işaretçiyle çakışacak OPTIONAL_AND_HIDES_LOWER_PRIORITY işaretçilerini veya etiketleri gizleyin.
  • CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY İşaretçiyi, yalnızca diğer işaretçilerle üst üste gelmediği durumlarda görüntüleyin.

    • İki bit eşlem işaretçisi çakışırsa yüksek zIndex değerine sahip olan gösterilir. Ekran konumu aynıysa zIndex dikey ekran konumuna sahip olan gösterilir. zIndex hakkında daha fazla bilgi için İşaretçi z-endeksi konusuna bakın.

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

    • Görünüm işaretçileri, bit eşlem işaretçilerinin üzerindeki bir katmanda ç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ür işaretçileri kullanmaya çalışmalısınız.

Aşağıdaki örnekte, bir işaretçi için çakışma davranışı ayarlanma şekli 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 = AdvancedMarkerOptions.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions()
    .position(latLng)
    .collisionBehavior(collisionBehavior)
val marker: Marker = map.addMarker(advancedMarkerOptions)

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(latLng)
            .collisionBehavior(collisionBehavior);
Marker marker = map.addMarker(options);