İşaretçi çarpışma davranışını yapılandırma

Platform seçin: Android iOS JavaScript

collisionBehavior özelliğini aşağıdaki değerlerden birine ayarlayarak bir işaretçinin başka bir işaretçi veya harita etiketiyle çarpıştığında nasıl davranması gerektiğini belirtebilirsiniz:

  • REQUIRED: İşaretçi, çakışmalardan bağımsız olarak her zaman gösterilmelidir.
  • REQUIRED_AND_HIDES_OPTIONAL: İşaretçi, çakışmalardan bağımsız olarak her zaman gösterilmelidir. OPTIONAL_AND_HIDES_LOWER_PRIORITY Çakışma davranışına sahip işaretçiler: Bu işaretçiyle çakışan varsayılan harita etiketleri gizlenir.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: İşaretçi yalnızca diğer işaretçilerle çakışmadığında gösterilmelidir. Bu türden iki işaretçi çakışırsa daha yüksek çizim sırasına sahip olan gösterilir. Aynı çizim sırasına sahiplerse daha düşük dikey ekran konumuna sahip olan gösterilir.

Aşağıdaki kod örneğinde, çakışma davranışının her bir değeri gösterilmektedir. Bu kod örneğini kullanmak için Kurulum ve Uygulamanıza 3D harita ekleme bölümündeki talimatları uygulayarak Android Studio projenizi temel bir 3D harita ile ayarlayın. Ardından, aşağıdaki kodu MainActivity.kt dosyasına ekleyin:

// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude

...

// Marker 1: REQUIRED
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.52027645136134
        longitude = 13.408271658592406
        altitude = 0.0
    }
    label = "Collision Behavior: REQUIRED"
    altitudeMode = AltitudeMode.CLAMP_TO_GROUND
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.REQUIRED
})

// Marker 2: REQUIRED_AND_HIDES_OPTIONAL
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.519605780912585
        longitude = 13.406867190588198
        altitude = 150.0
    }
    label = "Colliding Behavior: REQUIRED_AND_HIDES_OPTIONAL"
    altitudeMode = AltitudeMode.ABSOLUTE
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
})

// Marker 3: OPTIONAL_AND_HIDES_LOWER_PRIORITY
googleMap3D.addMarker(markerOptions {
    position = latLngAltitude {
        latitude = 52.519882191069016
        longitude = 13.407410777254293
        altitude = 50.0
    }
    label = "Colliding Behavior: OPTIONAL_AND_HIDES_LOWER_PRIORITY"
    altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
    isExtruded = true
    isDrawnWhenOccluded = true
    collisionBehavior = CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY
})