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 çarpması (çakışması) durumunda nasıl görüntüleneceğini kontrol eder başka bir işaretçi kullanın. Gelişmiş işaretçileri oluşturma şekliniz çakışma davranışının nasıl çalışacağını belirler:
BitmapDescriptorFactory
bit eşleme işaretçileri olarak adlandırılır. Bu işaretçiler temel harita.Google tarafından oluşturulanlar dahil olmak üzere diğer tüm gelişmiş işaretçiler
AdvancedMarkerOptions.iconView()
yöntemi kullanıldığında görünüm işaretçileridir ve ana haritanın üzerindeki bir katmanda çizilir.
Çarpışma davranışını ayarlamak için
AdvancedMarkerOptions.collisionBehavior
:
CollisionBehavior.REQUIRED
: (varsayılan) Hangisi olursa olsun işaretçiyi her zaman göster olabilir.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
İşaretçiyi her zaman göster çakışmadan önce ve tümOPTIONAL_AND_HIDES_LOWER_PRIORITY
verilerini gizle üst üste binen işaretçiler veya etiketler.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY
İşaretçiyi görüntüleyin yalnızca diğer işaretçilerle çakışmıyorsa.İki bit eşleme işaretçisi çakışırsa daha yüksek
zIndex
değerine sahip olan gösteriliyor. İki tarafta dazIndex
varsa dikey ekranı daha düşük olanı konum gösteriliyor.zIndex
hakkında daha fazla bilgi için bkz. İşaretçi z-endeksi.İki görünüm işaretçisi çakışırsa
zIndex
değeri daha yüksek olan gösteriliyor. Bunlar 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şleme işaretçilerinin üzerindeki bir katmanda çizildiğinden, view işaretçileri, bit eşlem işaretçileriyle çakışır. Dolayısıyla, kullanın.
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);