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, çarpışmalardan bağımsız olarak her zaman gösterilmelidir.OPTIONAL_AND_HIDES_LOWER_PRIORITYÇakışma davranışına sahip işaretçiler veya 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ığı durumlarda 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 dikey ekran konumu daha düşük olan gösterilir.
Aşağıdaki kod örneğinde, çakışma davranışı değerlerinin her biri 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
})