หน้านี้แสดงวิธีจัดการการชนระหว่างเครื่องหมายที่คุณเพิ่ม ลงในแผนที่และป้ายกำกับเริ่มต้น เช่น จุดที่น่าสนใจ (POI) หรือถนน
ก่อนเริ่มต้น
ในการจัดการการขัดแย้งของเครื่องหมายและป้ายกำกับ คุณต้องใช้ รหัสแผนที่
หากคุณใช้รูปภาพบิตแมปของแผนที่ผ่านโหมด Lite คุณจะไม่สามารถ จัดการความขัดแย้งของเครื่องหมายและป้ายกำกับกำลังระบุลำดับความสำคัญของเครื่องหมาย
ใช้ Marker
CollisionBehavior
สำหรับระบุลำดับความสำคัญใน
สี
โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้
REQUIRED
- ค่าเริ่มต้น ต้องแสดงเครื่องหมายที่ทับซ้อนกับเครื่องหมายอื่น เครื่องหมาย ป้ายกำกับ และจุดที่น่าสนใจOPTIONAL_AND_HIDES_LOWER_PRIORITY
- ระบุว่าอาจมีการแทนที่เครื่องหมายหรือ ซ้อนทับด้วยเครื่องหมาย ที่จำเป็น หรือแทนที่ด้วยOPTIONAL_AND_HIDES_LOWER_PRIORITY
เครื่องหมายที่มีลำดับความสำคัญสูงกว่า ใช้zIndex
เพื่อช่วยกำหนดลำดับความสำคัญแบบสัมพัทธ์ ระหว่างOPTIONAL_AND_HIDES_LOWER_PRIORITY
เครื่องหมาย ค่าzIndex
ที่สูงกว่าแสดงว่า ลำดับความสำคัญที่สูงกว่าREQUIRED_AND_HIDES_OPTIONAL
- ต้องแสดงเครื่องหมายขณะซ่อน เครื่องหมาย ป้ายกำกับ หรือจุดที่น่าสนใจOPTIONAL_AND_HIDES_LOWER_PRIORITY
ใดๆ ที่ซ้อนทับกับ สี เครื่องหมายอาจทับซ้อนกับเครื่องหมายอื่นๆ ที่จำเป็น
ตัวอย่างโค้ดต่อไปนี้แสดงการตั้งค่า CollisionBehavior
สำหรับตัวทำเครื่องหมายใหม่
Kotlin
// Collision behavior can only be changed in the AdvancedMarkerOptions object. // Changes to collision behavior after a marker has been created are not possible val collisionBehavior: Int = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL val advancedMarkerOptions: AdvancedMarkerOptions = AdvancedMarkerOptions() .position(LatLng(10.0, 10.0)) .collisionBehavior(collisionBehavior) val marker: Marker = map.addMarker(advancedMarkerOptions) ?: error(Fa"iled to add marker) "
Java
// Collision behavior can only be changed in the AdvancedMarkerOptions object. // Changes to collision behavior after a marker has been created are not possible int collisionBehavior = AdvancedMarkerOptions.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL; AdvancedMarkerOptions options = new AdvancedMarkerOptions() .position(new LatLng(10.0, 10.0)) .collisionBehavior(collisionBehavior); Marker marker = map.addMarker(options);