Contrôler le comportement en cas de collision

Sélectionnez une plate-forme : Android iOS JavaScript

Le comportement en cas de collision détermine la manière dont un repère s'affiche s'il entre en collision avec un autre repère.

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 jusqu'à l'une des options suivantes:

  • GMSCollisionBehaviorRequired (par défaut): toujours afficher le repère quelle que soit la collision. Il s'agit du comportement par défaut. N'a aucun impact sur si d'autres repères ou libellés de carte de base s'affichent.

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

  • GMSCollisionBehaviorRequiredAndHidesOptional: toujours afficher le repère quelle que soit la collision, et masquer GMSCollisionBehaviorOptionalAndHidesLowerPriority Afficher le repère uniquement s'il n'en chevauche pas d'autres. Non GMSCollisionBehaviorRequired Si deux repères de ce type se chevauchent, celui dont le zIndex est le plus élevé est affiché. Règles de collision pour les repères comportant les mêmes 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