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

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

หน้านี้จะแสดงวิธีการจัดการการชนระหว่างเครื่องหมายที่คุณเพิ่มลงในแผนที่และป้ายกํากับเริ่มต้น เช่น จุดสนใจ (POI) หรือชื่อถนน

ก่อนเริ่มต้น

คุณจะใช้รหัสแผนที่เพื่อจัดการการชนกันของป้ายกํากับและป้ายกํากับได้

หากใช้รูปภาพบิตแมปของแผนที่ผ่านโหมด Lite คุณจะจัดการการขัดแย้งของเครื่องหมายและป้ายกํากับไม่ได้

การระบุลําดับความสําคัญของเครื่องหมาย

ใช้ MarkerCollisionBehavior เพื่อระบุลําดับความสําคัญในเครื่องหมาย

โปรดใช้ค่าใดค่าหนึ่งต่อไปนี้

  • 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 ของตัวทําเครื่องหมายใหม่

Java


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

      

Kotlin


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