collisionBehavior özelliğini aşağıdaki değerlerden birine ayarlayarak bir işaretçinin başka bir işaretçi veya harita etiketiyle çakış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 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ışmıyorsa gösterilmelidir. Bu türden iki işaretçi çakışırsa çizim sırası daha yüksek olan gösterilir. Çizim sıraları aynıysa 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ümlerindeki talimatları uygulayarak Android Studio projenizi temel bir 3D haritayla oluşturun. Ardından, MainActivity.kt dosyasına aşağıdaki kodu 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
})