Cómo administrar las colisiones de marcadores, etiquetas y lugares de interés

En esta página, se muestra cómo administrar las colisiones entre los marcadores que agregas al mapa y las etiquetas predeterminadas, como los lugares de interés o los nombres de calles.

Antes de comenzar

Para administrar las colisiones de marcadores y etiquetas, debes usar un ID de mapa.

Si usas una imagen de mapa de bits de un mapa a través del modo lite, no podrás administrar las colisiones de marcadores y etiquetas.

Cómo especificar las prioridades de marcadores

Usa la propiedad Marker CollisionBehavior para especificar la prioridad en un marcador.

Usa uno de los siguientes valores:

  • REQUIRED: Predeterminado. Requiere mostrar un marcador que se superponga con otros marcadores, etiquetas y lugares de interés.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: Indica que un marcador puede reemplazarse o superponerse con un marcador obligatorio. También significa que un marcador OPTIONAL_AND_HIDES_LOWER_PRIORITY con una prioridad más alta puede reemplazarlo. Usa zIndex para ayudar a determinar la prioridad relativa entre marcadores OPTIONAL_AND_HIDES_LOWER_PRIORITY. Un valor zIndex más alto indica una prioridad más alta.
  • REQUIRED_AND_HIDES_OPTIONAL: Requiere que se muestre un marcador y que se oculten los marcadores OPTIONAL_AND_HIDES_LOWER_PRIORITY, las etiquetas o los lugares de interés que se superponen con el marcador. El marcador puede superponerse con otros marcadores obligatorios.

En el siguiente ejemplo de código, se muestra la configuración de CollisionBehavior para un marcador nuevo:

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));