Contrôler le comportement en cas de collision

Sélectionnez une plate-forme : Android iOS JavaScript

Le comportement en cas de collision définit comment un repère s'affiche s'il entre en collision avec un autre repère (c'est-à-dire s'ils se chevauchent).

Définir le comportement d'un repère en cas de collision

Pour définir le comportement en cas de collision, définissez GMSAdvancedMarker.collisionBehavior sur l'une des valeurs suivantes:

  • GMSCollisionBehaviorRequired (par défaut): le repère s'affiche toujours, quelle que soit la collision. Il s'agit du comportement par défaut. N'a aucune incidence sur l'affichage d'autres repères ou libellés de la carte de base.

  • GMSCollisionBehaviorOptionalAndHidesLowerPriority: le repère s'affiche uniquement s'il n'en chevauche pas d'autres. Si deux repères de ce type se chevauchent, celui avec le zIndex le plus élevé est affiché. S'ils ont le même zIndex, celui dont la position verticale à l'écran est la plus basse est affiché.

  • GMSCollisionBehaviorRequiredAndHidesOptional: le repère s'affiche toujours, quelle que soit la collision, et les GMSCollisionBehaviorOptionalAndHidesLowerPriority sont masqués. Afficher le repère uniquement s'il n'en chevauche pas d'autres. Ne GMSCollisionBehaviorRequired pas. Si deux repères de ce type se chevauchent, celui avec le zIndex le plus élevé est affiché. Les règles de collision pour les repères avec le même zIndex ne sont pas définies.

Swift

// Defines a marker to always display and hide any marker or label overlay with this marker in the base map
marker.collisionBehavior = .requiredAndHidesOptional

Objective-C

// Defines a marker to always display and hide any marker or label overlay with this marker in the base map
marker.collisionBehavior = GMSCollisionBehaviorRequiredAndHidesOptional