Contrôler le comportement en cas de collision

Sélectionnez une plate-forme:Android iOS JavaScript

Le comportement en cas de collision contrôle la façon dont un repère s'affiche s'il entre en collision avec un autre repère (c'est-à-dire s'il se chevauche).

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. Cela n'a aucune incidence sur l'affichage des autres repères ou libellés de la carte de base.

  • GMSCollisionBehaviorOptionalAndHidesLowerPriority: le repère n'est affiché que 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 s'affiche.

  • GMSCollisionBehaviorRequiredAndHidesOptional: le repère s'affiche toujours, quelle que soit la collision, et tous les GMSCollisionBehaviorOptionalAndHidesLowerPriority sont masqués. Le repère ne s'affiche que s'il n'en chevauche pas d'autres. N'est pas GMSCollisionBehaviorRequired. Si deux repères de ce type se chevauchent, celui avec le zIndex le plus élevé s'affiche. Les règles de collision pour les repères ayant 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