Bu sayfada, haritanıza eklediğiniz işaretçiler ile varsayılan etiketler (ör. önemli yerler veya sokak adları) arasındaki çakışmaları nasıl yöneteceğiniz gösterilmektedir.
Başlamadan önce
İşaretçi ve etiket çakışmalarını yönetmek için bir harita kimliği kullanmanız gerekir.
Basit mod ile bir haritanın bitmap resmini kullanıyorsanız işaretçi ve etiket çakışmalarını yönetemezsiniz.İşaretçi önceliklerini belirtme
Marker
kullanın.CollisionBehavior
mülkünü kullanarak işaretçiye öncelik verebilirsiniz.
Aşağıdaki değerlerden birini kullanın:
REQUIRED
: Varsayılan değerdir. Diğer işaretçiler, etiketler ve ÖY'lerle çakışan bir işaretçi gösterilmesini gerektirir.OPTIONAL_AND_HIDES_LOWER_PRIORITY
: İşaretçinin gerekli bir işaretçiyle değiştirilebileceğini veyaOPTIONAL_AND_HIDES_LOWER_PRIORITY
örtüşebileceğini ya da daha yüksek önceliğe sahip bir işaretçiyle değiştirilebileceğini gösterir.OPTIONAL_AND_HIDES_LOWER_PRIORITY
işaretçileri arasındaki göreceli önceliği belirlemek içinzIndex
simgesini kullanın. Daha yüksek birzIndex
değeri, daha yüksek önceliği gösterir.REQUIRED_AND_HIDES_OPTIONAL
: İşaretçiyle örtüşen tümOPTIONAL_AND_HIDES_LOWER_PRIORITY
işaretçilerini, etiketlerini veya ÖY'lerini gizleyerek bir işaretçinin gösterilmesini gerektirir. İşaretçi, diğer gerekli işaretçilerle çakışabilir.
Aşağıdaki kod örneğinde, yeni bir işaretçi için CollisionBehavior
ayarı 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);