Controlar o comportamento de conflito

Selecione a plataforma: Android iOS JavaScript

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

Definir o comportamento em caso de conflito de um marcador

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

  • GMSCollisionBehaviorRequired (padrão): sempre mostrar o marcador, independentemente do conflito. Esse é o comportamento padrão. Não afeta a exibição de outros marcadores ou rótulos de mapa básico.

  • GMSCollisionBehaviorOptionalAndHidesLowerPriority: mostra o marcador apenas se ele não se sobrepuser a outros. Em caso de sobreposição de dois marcadores desse tipo, aquele com o maior zIndex será mostrado. Se eles tiverem o mesmo zIndex, aquele com a posição vertical mais abaixo na tela será mostrado.

  • GMSCollisionBehaviorRequiredAndHidesOptional: sempre mostrar o marcador, independentemente do conflito, e ocultar qualquer GMSCollisionBehaviorOptionalAndHidesLowerPriority. Só mostrar o marcador se ele não se sobrepuser a outros elementos. Não GMSCollisionBehaviorRequired. Em caso de conflito, o marcador com o maior zIndex vai aparecer. As regras de colisão para marcadores com o mesmo zIndex são indefinidas.

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