Quản lý điểm đánh dấu, nhãn và xung đột POI

Trang này cho bạn biết cách quản lý các xung đột giữa các điểm đánh dấu mà bạn thêm vào bản đồ và các nhãn mặc định, chẳng hạn như địa điểm yêu thích (POI) hoặc tên đường phố.

Trước khi bắt đầu

Để quản lý các xung đột nhãn và điểm đánh dấu, bạn phải sử dụng mã bản đồ.

Nếu đang sử dụng hình ảnh bitmap của bản đồ thông qua chế độ thu gọn, bạn không thể quản lý các xung đột điểm đánh dấu và nhãn.

Chỉ định mức độ ưu tiên của điểm đánh dấu

Sử dụng Marker.CollisionBehavior để chỉ định mức độ ưu tiên trên một điểm đánh dấu.

Hãy dùng một trong những giá trị sau:

  • REQUIRED – Mặc định. Yêu cầu hiển thị một điểm đánh dấu trùng lặp với các điểm đánh dấu, nhãn và POI khác.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY – Cho biết rằng điểm đánh dấu có thể được thay thế hoặc chồng lên bằng một điểm đánh dấu bắt buộc, hoặc được thay thế bằng một điểm đánh dấu OPTIONAL_AND_HIDES_LOWER_PRIORITY có mức độ ưu tiên cao hơn. Sử dụng zIndex để xác định mức độ ưu tiên tương đối giữa các điểm đánh dấu OPTIONAL_AND_HIDES_LOWER_PRIORITY. Giá trị zIndex càng cao thì mức độ ưu tiên càng cao.
  • REQUIRED_AND_HIDES_OPTIONAL – Yêu cầu hiển thị một điểm đánh dấu trong khi ẩn mọi điểm đánh dấu OPTIONAL_AND_HIDES_LOWER_PRIORITY, nhãn hoặc POI trùng lặp với điểm đánh dấu. Điểm đánh dấu có thể chồng chéo với các điểm đánh dấu bắt buộc khác.

Ví dụ về mã sau đây cho thấy cách đặt CollisionBehavior cho một điểm đánh dấu mới:

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));