Controlar o comportamento de conflito

Selecione a plataforma: Android iOS JavaScript

O comportamento em caso de conflito controla como um marcador é exibido em caso de conflito (sobreposição) com outro marcador.

Definir o comportamento em caso de conflito de um marcador

Para definir o comportamento em caso de conflito, defina GMSAdvancedMarker.collisionBehavior para uma das seguintes opções:

  • GMSCollisionBehaviorRequired (padrão): sempre exibir o marcador. independentemente da colisão. Esse é o comportamento padrão. Não tem impacto no se outros marcadores ou rótulos de mapa básico serão mostrados.

  • GMSCollisionBehaviorOptionalAndHidesLowerPriority: mostrar apenas o marcador caso ele não se sobreponha a outros marcadores. Se dois marcadores desse tipo se sobrepuserem, o que tiver o maior zIndex será mostrado. Se eles tiverem os mesmos zIndex, aquela com a posição vertical mais abaixo na tela será mostrada.

  • GMSCollisionBehaviorRequiredAndHidesOptional: sempre mostrar o marcador independentemente da colisão e ocultar GMSCollisionBehaviorOptionalAndHidesLowerPriority. Mostrar apenas o marcador caso ele não se sobreponha a outros marcadores. Não GMSCollisionBehaviorRequired: Se dois marcadores desse tipo se sobrepuserem, aquele com o maior zIndex é mostrado. Regras de conflito para marcadores com os mesmos zIndex são indefinidos.

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