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 exibidos.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 maiorzIndex
será mostrado. Se eles tiverem os mesmoszIndex
, aquela com a posição vertical mais abaixo na tela será mostrada.GMSCollisionBehaviorRequiredAndHidesOptional
: sempre mostrar o marcador independentemente da colisão e ocultarGMSCollisionBehaviorOptionalAndHidesLowerPriority
. Mostrar apenas o marcador caso ele não se sobreponha a outros marcadores. NãoGMSCollisionBehaviorRequired
: Se dois marcadores desse tipo se sobrepuserem, aquele com o maiorzIndex
é mostrado. Regras de conflito para marcadores com os mesmoszIndex
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