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 lezIndex
le plus élevé est affiché. S'ils ont le mêmezIndex
, 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 lesGMSCollisionBehaviorOptionalAndHidesLowerPriority
sont masqués. Le repère ne s'affiche que s'il n'en chevauche pas d'autres. N'est pasGMSCollisionBehaviorRequired
. Si deux repères de ce type se chevauchent, celui avec lezIndex
le plus élevé s'affiche. Les règles de collision pour les repères ayant le mêmezIndex
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