Bạn có thể chỉ định cách một điểm đánh dấu hoạt động khi va chạm với một điểm đánh dấu hoặc nhãn bản đồ khác bằng cách đặt thuộc tính collisionBehavior thành một trong các giá trị sau:
REQUIRED: Điểm đánh dấu phải luôn hiển thị bất kể có xảy ra xung đột hay không.REQUIRED_AND_HIDES_OPTIONAL: Điểm đánh dấu phải luôn xuất hiện bất kể có xảy ra xung đột hay không. Các điểm đánh dấu có hành vi va chạmOPTIONAL_AND_HIDES_LOWER_PRIORITYhoặc nhãn mặc định trên bản đồ trùng lặp với điểm đánh dấu này sẽ bị ẩn.OPTIONAL_AND_HIDES_LOWER_PRIORITY: Điểm đánh dấu chỉ được hiển thị nếu không trùng lặp với các điểm đánh dấu khác. Nếu hai điểm đánh dấu thuộc loại này trùng nhau, thì điểm đánh dấu có thứ tự vẽ cao hơn sẽ xuất hiện. Nếu có cùng thứ tự vẽ, thì thành phần có vị trí màn hình dọc thấp hơn sẽ xuất hiện.
Mã mẫu sau đây minh hoạ từng giá trị hành vi va chạm. Để sử dụng mã mẫu này, hãy làm theo hướng dẫn trong phần Thiết lập và Thêm bản đồ 3D vào ứng dụng để thiết lập dự án Android Studio bằng một bản đồ 3D cơ bản. Sau đó, hãy thêm đoạn mã sau vào tệp MainActivity.kt:
// 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
})