Gérer les conflits de repères, libellés et POI

Cette page explique comment gérer les collisions entre les repères que vous ajoutez à votre carte et les libellés par défaut, comme les points d'intérêt (POI) ou les noms de rue.

Avant de commencer

Pour gérer les collisions entre repères et libellés, vous devez utiliser un ID de carte.

Si vous utilisez une image bitmap d'une carte en mode simplifié, vous ne pouvez pas gérer les collisions entre repères et libellés.

Spécifier les priorités des repères

Utilisez la propriété Marker.CollisionBehavior pour spécifier la priorité d'un repère.

Utilisez l'une des valeurs suivantes :

  • REQUIRED : valeur par défaut exigeant l'affichage d'un repère qui se superpose à d'autres repères, libellés et POI.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY : indique que le repère peut être remplacé ou chevauché par un repère obligatoire, ou remplacé par un repère OPTIONAL_AND_HIDES_LOWER_PRIORITY de priorité supérieure. Utilisez zIndex pour déterminer la priorité relative entre les repères OPTIONAL_AND_HIDES_LOWER_PRIORITY (une valeur zIndex supérieure indique une priorité plus élevée).
  • REQUIRED_AND_HIDES_OPTIONAL : exige l'affichage d'un repère tout en masquant les repères, libellés ou POI OPTIONAL_AND_HIDES_LOWER_PRIORITY qui se superposent au repère. Le repère peut se superposer à d'autres repères obligatoires.

L'exemple de code suivant illustre le paramètre CollisionBehavior pour un nouveau repère :

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