Konflikte zwischen Markierungen, Labels und POIs verwalten

Auf dieser Seite wird beschrieben, wie Konflikte zwischen Markierungen auf der Karte und Standardlabels wie POIs oder Straßennamen verwaltet werden.

Hinweise

Um Konflikte zwischen Markierungen und Labels zu verwalten, müssen Sie eine Karten-ID verwenden.

Wenn Sie ein Bitmapbild einer Karte im Lite-Modus verwenden, können Sie diese Konflikte nicht verwalten.

Prioritäten für Markierungen festlegen

Verwenden Sie die Eigenschaft Marker.CollisionBehavior, um die Priorität einer Markierung festzulegen.

Dabei stehen folgende Werte zur Verfügung:

  • REQUIRED: Das ist der Standardwert. Er gibt an, dass die entsprechende Markierung angezeigt werden muss, wenn sie sich mit anderen Markierungen, Labels und POIs überschneidet.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: Gibt an, dass die Markierung ersetzt, von einer erforderlichen Markierung überlappt oder durch eine OPTIONAL_AND_HIDES_LOWER_PRIORITY-Markierung mit höherer Priorität ersetzt werden kann. Verwenden Sie zIndex, um die relative Priorität zwischen einzelnen OPTIONAL_AND_HIDES_LOWER_PRIORITY-Markierungen festzulegen. Ein höherer zIndex-Wert gibt eine höhere Priorität an.
  • REQUIRED_AND_HIDES_OPTIONAL: Gibt an, dass die Markierung angezeigt werden muss. Dabei werden alle OPTIONAL_AND_HIDES_LOWER_PRIORITY-Markierungen, Labels oder POIs ausgeblendet, die sich mit ihr überschneiden. Eine Überschneidung mit anderen erforderlichen Markierungen ist zulässig.

Im folgenden Codebeispiel wird veranschaulicht, wie CollisionBehavior für eine neue Markierung festgelegt wird:

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