Gestione di indicatori, etichette e collisioni dei PDI

Questa pagina mostra come gestire le collisioni tra gli indicatori aggiunti alla mappa e le etichette predefinite, come i punti d'interesse (PDI) o i nomi delle vie.

Prima di iniziare

Per gestire le collisioni tra indicatori ed etichette, devi utilizzare un ID mappa.

Se utilizzi un'immagine bitmap di una mappa in modalità Lite, non puoi gestire le collisioni tra indicatori ed etichette.

Specificare le priorità degli indicatori

Usa l'Marker.CollisionBehavior per specificare la priorità su un indicatore.

Usa uno dei seguenti valori:

  • REQUIRED - Predefinita. Richiede la visualizzazione di un indicatore che si sovrappone ad altri indicatori, etichette e PDI.
  • OPTIONAL_AND_HIDES_LOWER_PRIORITY: indica che l'indicatore può essere sostituito o sovrapposto da un indicatore obbligatorio oppure sostituito da un indicatore OPTIONAL_AND_HIDES_LOWER_PRIORITY con priorità più alta. Usa zIndex per determinare la priorità relativa tra gli indicatori OPTIONAL_AND_HIDES_LOWER_PRIORITY. Un valore zIndex più elevato indica una priorità più elevata.
  • REQUIRED_AND_HIDES_OPTIONAL: richiede la visualizzazione di un indicatore se vengono nascosti OPTIONAL_AND_HIDES_LOWER_PRIORITY indicatori, etichette o PDI che si sovrappongono all'indicatore. L'indicatore potrebbe sovrapporsi ad altri indicatori obbligatori.

Il seguente esempio di codice mostra l'impostazione di CollisionBehavior per un nuovo indicatore:

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