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 (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 des autres repères ou libellés de la carte de base.

  • GMSCollisionBehaviorOptionalAndHidesLowerPriority: n'affiche le repère que s'il n'en chevauche pas d'autres. Si deux repères de ce type se chevauchent, celui dont le zIndex est 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 masque les GMSCollisionBehaviorOptionalAndHidesLowerPriority. Affichez le repère uniquement s'il n'en chevauche pas d'autres. N'est pas GMSCollisionBehaviorRequired. Si deux repères de ce type se chevauchent, celui dont le zIndex est le plus élevé est affiché. 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