คุณระบุลักษณะการทำงานของตัวทำเครื่องหมายเมื่อชนกับตัวทำเครื่องหมายอื่นหรือป้ายกำกับแผนที่ได้โดยตั้งค่าcollisionBehaviorพร็อพเพอร์ตี้เป็นค่าใดค่าหนึ่งต่อไปนี้
REQUIRED: ควรแสดงเครื่องหมายเสมอไม่ว่าจะมีการชนกันหรือไม่ก็ตามREQUIRED_AND_HIDES_OPTIONAL: ควรแสดงเครื่องหมายเสมอไม่ว่าจะมีการชนกันหรือไม่ก็ตาม เครื่องหมายที่มีการดำเนินการสำหรับการซ้อนทับเป็นOPTIONAL_AND_HIDES_LOWER_PRIORITYหรือป้ายกำกับแผนที่เริ่มต้นที่ทับซ้อนกับเครื่องหมายนี้จะถูกซ่อนOPTIONAL_AND_HIDES_LOWER_PRIORITY: ควรแสดงเครื่องหมายก็ต่อเมื่อไม่ทับซ้อนกับเครื่องหมายอื่นๆ หากเครื่องหมาย 2 รายการประเภทนี้ทับซ้อนกัน ระบบจะแสดงเครื่องหมายที่มีลำดับการวาดสูงกว่า หากมีลำดับการวาดเหมือนกัน ระบบจะแสดงเครื่องหมายที่มีตำแหน่งหน้าจอแนวตั้งต่ำกว่า
ตัวอย่างโค้ดต่อไปนี้แสดงค่าลักษณะการทำงานเมื่อชนกันแต่ละค่า หากต้องการใช้ตัวอย่างโค้ดนี้ ให้ทำตามวิธีการใน
ตั้งค่า และ เพิ่มแผนที่ 3 มิติลงใน
แอป เพื่อตั้งค่าโปรเจ็กต์
Android Studio ด้วยแผนที่ 3 มิติพื้นฐาน จากนั้นเพิ่มโค้ดต่อไปนี้ลงในไฟล์ 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
})