Bu sayfada, bir işaretçinin çakışma davranışını nasıl kontrol edeceğiniz gösterilmektedir.
İşaretçi için çakışma davranışı ayarlama
Çakışma davranışı, bir işaretçinin başka bir işaretçiyle çakışması (üst üste binmesi) durumunda nasıl görüntüleneceğini kontrol eder. Gelişmiş işaretçi oluşturma yönteminiz, çakışma davranışının işleyiş şeklini belirler:
BitmapDescriptorFactorykullanılarak oluşturulan gelişmiş işaretçiler, bit eşlem 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ç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) Çakışmadan bağımsız olarak her zaman işaretçiyi gösterir.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONALÇakışmadan bağımsız olarak işaretçiyi her zaman gösterir ve işaretçiyle çakışacak tümOPTIONAL_AND_HIDES_LOWER_PRIORITYişaretçileri veya etiketleri gizler.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITYİşaretçiyi yalnızca diğer işaretçilerle çakışmıyorsa göster.İki bit eşlem işaretçi çakışıyorsa daha yüksek
zIndexdeğerine sahip olan gösterilir. AynızIndexöğesine sahipse dikey ekran konumu daha düşük olan gösterilir.zIndexhakkında daha fazla bilgi için Marker z-index başlıklı makaleyi inceleyin.İki görünüm işaretçisi çakışırsa daha yüksek
zIndexdeğerine sahip olan gösterilir. AynızIndexdeğerine sahiplerse 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 çarpışma kontrolü için aynı türden işaretçiler kullanmaya çalışmalısınız.
Aşağıdaki örnekte, bir işaretçi için çakışma davranışının nasıl ayarlanacağı 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);