控制冲突行为

请选择平台: Android iOS JavaScript

冲突行为用于控制标记与其他标记冲突(重叠)时的显示方式。

设置标记的冲突行为

如需设置冲突行为,请将 GMSAdvancedMarker.collisionBehavior 设置为以下其中一项:

  • GMSCollisionBehaviorRequired(默认):始终显示标记,无论是否冲突。这是默认行为。不影响任何其他标记或基本地图标签的显示。

  • GMSCollisionBehaviorOptionalAndHidesLowerPriority:标记仅在未与其他标记重叠时才显示。如果两个同属于这种类型的标记发生重叠,则会显示 zIndex 较高的那个标记。如果二者的 zIndex 也相同,则会显示在屏幕上纵向位置较低的那个标记。

  • GMSCollisionBehaviorRequiredAndHidesOptional:始终显示标记(无论是否冲突),并隐藏任何 GMSCollisionBehaviorOptionalAndHidesLowerPriority。标记仅在未与其他标记重叠时才显示。不会执行 GMSCollisionBehaviorRequired。如果两个同属于这种类型的标记发生重叠,则会显示 zIndex 较高的那个标记。具有相同 zIndex 的标记没有冲突规则。

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