Bu sayfa bir işaretleyicinin çarpışma davranışını nasıl kontrol edeceğinizi gösterir.
Bir işaretleyici için çarpışma davranışını ayarlayın
Çarpışma davranışı, bir işaretleyicinin başka bir işaretleyiciyle çarpışması (üst üste gelmesi) durumunda nasıl görüntüleneceğini kontrol eder. Gelişmiş işaretleyicileri oluşturma şekliniz, çarpışma davranışının nasıl işleyeceğini belirler:
BitmapDescriptorFactorykullanılarak oluşturulan gelişmiş işaretçiler, bit eşlem işaretçiler 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çiler, görünüm işaretçileri olarak adlandırılır ve temel haritanın üzerindeki bir katmanda çizilir.
Çakış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örüntüle.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONALÇakışmadan bağımsız olarak işaretçiyi her zaman görüntüle ve işaretçiyle örtüşebilecek tümOPTIONAL_AND_HIDES_LOWER_PRIORITYişaretçilerini veya etiketlerini gizle.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITYİşaretçiyi yalnızca diğer işaretçilerle çakışmıyorsa gösterin.İki bitmap işaretleyicisi üst üste gelirse,
zIndexdeğeri daha yüksek olan gösterilir. AynızIndexdeğerine sahiplerse, dikey ekran konumu daha düşük olan gösterilir.zIndexhakkında daha fazla bilgi için İşaretleyici z-indeksi konusuna bakın.İki görüntüleme işaretçisi çakışırsa daha yüksek
zIndexdeğerine sahip olan gösterilir. AynızIndexdeğerine sahipse en 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. Bu nedenle, daha iyi çakışma kontrolü için aynı türden işaretçiler kullanmaya çalışmalısınız.
Aşağıdaki örnek, bir işaretleyici için çarpışma davranışının ayarlanmasını gösterir:
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);