管理標記、標籤和搜尋點衝突

本頁說明如何管理新增至地圖的標記和預設標籤 (例如搜尋點或街道名稱) 之間的衝突。

事前準備

如要管理標記和標籤衝突,請務必使用地圖 ID

如果您是在精簡模式中使用地圖點陣圖圖片,會無法管理標記和標籤衝突。

指定標記優先順序

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