Como gerenciar marcadores, rótulos e conflitos de PDI

Esta página mostra como gerenciar conflitos entre marcadores que você adiciona ao seu mapa e etiquetas padrão, como pontos de interesse (PDIs) ou nomes de ruas.

Antes de começar

Para gerenciar os conflitos de marcadores e etiquetas, você precisa usar um ID do mapa.

Se você estiver usando uma imagem em bitmap de um mapa no Modo Lite, não vai conseguir gerenciar os conflitos de etiquetas e marcadores.

Especificar prioridades de marcadores

Use a propriedade Marker.CollisionBehavior para especificar a prioridade em um marcador.

Use um dos seguintes valores:

  • REQUIRED: padrão. Requer a exibição de um marcador que se sobrepõe a outros marcadores, etiquetas e pontos de interesse.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: indica que o marcador pode ser substituído ou sobreposto por um marcador obrigatório ou substituído por um marcador OPTIONAL_AND_HIDES_LOWER_PRIORITY com prioridade mais alta. Use zIndex para ajudar a determinar a prioridade relativa entre os marcadores OPTIONAL_AND_HIDES_LOWER_PRIORITY. Um valor zIndex mais alto indica prioridade mais alta.
  • REQUIRED_AND_HIDES_OPTIONAL: requer a exibição de um marcador enquanto oculta marcadores OPTIONAL_AND_HIDES_LOWER_PRIORITY, etiquetas ou PDIs que ocupam o mesmo espaço. O marcador pode se sobrepor a outros marcadores obrigatórios.

O exemplo de código a seguir mostra a definição de CollisionBehavior para um novo marcador:

Kotlin



val marker = map.addMarker(
    MarkerOptions()
        .position(LatLng(10.0, 10.0))
        .zIndex(10f) // Optional.
        .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY)
)

      

Java


Marker marker = map.addMarker(
    new MarkerOptions()
        .position(new LatLng(10, 10))
        .zIndex(10) // Optional.
        .collisionBehavior(Marker.CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY));