Collision behavior controls how a marker displays if it collides (overlaps) with another marker.
Set the collision behavior for a marker
To set collision behavior, set
GMSAdvancedMarker.collisionBehavior
to
one of the following:
GMSCollisionBehaviorRequired
(Default): Always display the marker regardless of collision. This is the default behavior. Has no impact on whether any other markers or basemap labels show.GMSCollisionBehaviorOptionalAndHidesLowerPriority
: Display the marker only if it does not overlap with other markers. If two markers of this type would overlap, the one with the higherzIndex
is shown. If they have the samezIndex
, the one with the lower vertical screen position is shown.GMSCollisionBehaviorRequiredAndHidesOptional
: Always display the marker regardless of collision, and hide anyGMSCollisionBehaviorOptionalAndHidesLowerPriority
. Display the marker only if it does not overlap with other markers. Does notGMSCollisionBehaviorRequired
. If two markers of this type would overlap, the one with the higherzIndex
is shown. Collision rules for markers with the samezIndex
are undefined.
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