Bu sayfada, bir işaretçiye ilişkin çakışma davranışının nasıl kontrol edileceği gösterilmektedir.
Bir işaretçi için çakışma davranışını ayarlama
Çarpışma davranışı, bir işaretçinin başka bir işaretçiyle çakıştığında (çakıştığında) nasıl görüntüleneceğ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çiler, bit eşleme 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çilere görünüm işaretçileri denir ve bu işaretçiler temel haritanın üzerindeki bir katmana çizilir.
Çakışma davranışını ayarlamak için AdvancedMarkerOptions.collisionBehavior
değerini aşağıdakilerden birine ayarlayın:
CollisionBehavior.REQUIRED
: (varsayılan) Çarpışma durumundan bağımsız olarak işaretçiyi her zaman görüntüleyin.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
Çarpışma fark etmeksizin işaretçiyi her zaman görüntüleyin ve işaretçiyle çakışan tümOPTIONAL_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 çakışmadığında görüntüleyin.İki bit eşleme işaretçisi çakışırsa daha yüksek
zIndex
değerine sahip olan 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ünüm işaretçisi çakışırsa daha yüksek
zIndex
değerine sahip olan 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, 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. 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 = 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);