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 lezIndex
est 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 masque lesGMSCollisionBehaviorOptionalAndHidesLowerPriority
. Affichez le repère uniquement s'il n'en chevauche pas d'autres. N'est pasGMSCollisionBehaviorRequired
. Si deux repères de ce type se chevauchent, celui dont lezIndex
est 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