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 lezIndex
est le plus élevé est affiché. S'ils ont les mêmeszIndex
, 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 masquerGMSCollisionBehaviorOptionalAndHidesLowerPriority
Afficher le repère uniquement s'il n'en chevauche pas d'autres. NonGMSCollisionBehaviorRequired
Si deux repères de ce type se chevauchent, celui dont lezIndex
est le plus élevé est affiché. Règles de collision pour les repères comportant les mêmeszIndex
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