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

Trang này hướng dẫn bạn cách quản lý 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 của bạn, chẳng hạn như địa điểm yêu thích (POI) hoặc đường phố tên.

Trước khi bắt đầu

Để quản lý các xung đột về điểm đánh dấu và nhãn, bạn phải sử dụng map id (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 đá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 cho 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ị điểm đánh dấu chồng chéo với điểm đánh dấu khác điểm đánh dấu, nhãn và POI.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY – Cho biết điểm đánh dấu có thể được thay thế hoặc bị chồng chéo bởi điểm đánh dấu bắt buộc hoặc được thay thế bằng OPTIONAL_AND_HIDES_LOWER_PRIORITY điểm đánh dấu 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 OPTIONAL_AND_HIDES_LOWER_PRIORITY điểm đánh dấu. Giá trị zIndex cao hơn cho biết mức độ ưu tiên cao hơn.
  • REQUIRED_AND_HIDES_OPTIONAL – Yêu cầu hiển thị một điểm đánh dấu khi ẩn bất kỳ điểm đánh dấu, nhãn hoặc POI nào OPTIONAL_AND_HIDES_LOWER_PRIORITY trùng lặp với điểm đánh dấu. Điểm đánh dấu có thể trùng với các điểm đánh dấu bắt buộc khác.

Ví dụ về mã sau đây minh hoạ cách thiết lập 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));