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ışacakOPTIONAL_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ıysazIndex
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);