การจัดการเครื่องหมาย ป้ายกำกับ และการชนจุดที่น่าสนใจ

หน้านี้แสดงวิธีจัดการการชนกันระหว่างเครื่องหมายที่คุณเพิ่มลงในแผนที่และป้ายกำกับเริ่มต้น เช่น จุดที่น่าสนใจ (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



val marker = map.addMarker(
    MarkerOptions()
        .position(LatLng(10.0, 10.0))
        .zIndex(10f) // Optional.
        .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY)
)

      

Java


Marker marker = map.addMarker(
    new MarkerOptions()
        .position(new LatLng(10, 10))
        .zIndex(10) // Optional.
        .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY));