Le comportement en cas de collision définit comment 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 fond de carte.GMSCollisionBehaviorOptionalAndHidesLowerPriority
: le repère s'affiche uniquement 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 est affiché.GMSCollisionBehaviorRequiredAndHidesOptional
: Toujours afficher le repère, quelle que soit la collision, et masquer lesGMSCollisionBehaviorOptionalAndHidesLowerPriority
. Afficher le repère uniquement s'il n'en chevauche pas d'autres. Ne pasGMSCollisionBehaviorRequired
. Si deux repères de ce type se chevauchent, celui avec lezIndex
le plus élevé est affiché. 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