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 xuất hiện bất kể có 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_PRIORITY
hoặc cá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 })