Çarpışma davranışı

Platform seçin: Android iOS JavaScript

Bu sayfada, bir işaretçinin çarpışma davranışını nasıl kontrol edebileceğiniz gösterilmektedir.

Bir işaretçi için çakışma davranışını ayarlama

Çarpışma davranışı, bir işaretçi başka bir işaretçiyle çarpıştığında (örtüştüğünde) nasıl gösterileceğini kontrol eder. 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 bağımsız olarak ve tüm OPTIONAL_AND_HIDES_LOWER_PRIORITY verilerini üst üste binen işaretçiler veya etiketler.
  • CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY İşaretçiyi yalnızca diğer işaretçilerle örtüşmüyorsa göster.

    • İki bitmap işaretçisi çakışırsa zIndex değeri daha yüksek olan işaretçi gösterilir. Aynı zIndex değerine sahiplerse dikey ekran konumu daha düşük olan gösterilir. zIndex hakkında daha fazla bilgi için bkz. İşaretçi z-endeksi.

    • İki görüntüleme işaretçisi çakışırsa zIndex değeri daha yüksek olan işaretçi gösterilir. 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);