Bu sayfada, eklediğiniz işaretçiler arasındaki çakışmaları nasıl yöneteceğiniz gösterilmektedir haritanıza ve önemli yerler (ÖY) veya sokak gibi varsayılan etiketlere gösterir.
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.Bir cihazda öncelik belirtmek için CollisionBehavior
özelliği
kullanabilirsiniz.
Aşağıdaki değerlerden birini kullanın:
REQUIRED
- Varsayılan. Diğer ile çakışan bir işaretçinin görüntülenmesini gerektirir önemli yerleri vurgular.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. Göreli önceliğin belirlenmesi içinzIndex
kullanınOPTIONAL_AND_HIDES_LOWER_PRIORITY
işaretçi arasında. 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, gerekli diğer 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);