Attività e altri punti d'interesse

Seleziona la piattaforma: Android iOS JavaScript

Per impostazione predefinita, i punti di interesse (PDI) vengono visualizzati sulla mappa base insieme alle icone corrispondenti. I PDI includono parchi, scuole, edifici governativi e altro ancora.

Inoltre, i PDI aziendali vengono visualizzati per impostazione predefinita sulla mappa quando il tipo di mappa è normal. I PDI aziendali rappresentano attività come negozi, ristoranti, hotel e altro ancora. I PDI di un'attività sulle mappe di interni (planimetrie) vengono visualizzati solo su una mappa in modalità Lite.

Un PDI corrisponde a un ID luogo, come definito in Places SDK for Android. Ad esempio, i parchi ricreativi sono PDI, ma elementi come le fontanelle in genere non lo sono (a meno che non abbiano un significato storico o nazionale).

Ascoltare gli eventi di clic sui PDI

Se vuoi rispondere a un utente che tocca un PDI, puoi utilizzare un OnPoiClickListener come mostrato nel seguente esempio di codice:

Kotlin

map.setOnPoiClickListener { poi ->
    Toast.makeText(
        context, """Clicked: ${poi.name}
        Place ID:${poi.placeId}
        Latitude:${poi.latLng.latitude} Longitude:${poi.latLng.longitude}""",
        Toast.LENGTH_SHORT
    ).show()
}

      

Java

map.setOnPoiClickListener(new GoogleMap.OnPoiClickListener() {
    @Override
    public void onPoiClick(PointOfInterest poi) {
        Toast.makeText(context, "Clicked: " +
                poi.name + "\nPlace ID:" + poi.placeId +
                "\nLatitude:" + poi.latLng.latitude +
                " Longitude:" + poi.latLng.longitude,
            Toast.LENGTH_SHORT).show();
    }
});

      

I PDI vengono visualizzati sulla mappa per impostazione predefinita, ma non esiste un'interfaccia utente predefinita per i clic. Ciò significa che l'API non visualizza automaticamente una finestra informativa o qualsiasi altra interfaccia utente quando l'utente tocca un PDI.

Come mostrato nell'esempio precedente, puoi impostare il OnPoiClickListener sulla mappa chiamando GoogleMap.setOnPoiClickListener(OnPoiClickListener). Quando un utente fa clic (tocca) su un PDI, la tua app riceve un OnPoiClick(PointOfInterest) evento che indica il punto di interesse (PDI) su cui l'utente ha fatto clic. The PointOfInterest contiene le coordinate di latitudine/longitudine, ID luogo e nome del punto di interesse.

Impedire la visualizzazione dei PDI sulla mappa

Puoi nascondere i punti di interesse (PDI) applicando stili personalizzati a tutti i PDI o a categorie specifiche di PDI.

La seguente dichiarazione di stile JSON nasconde tutti i PDI di un'attività sulla mappa:

[
  {
    "featureType": "poi.business",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

Come altro esempio, il seguente JSON semplifica la visualizzazione di tutte le categorie di PDI:

[
  {
    "featureType": "poi",
    "stylers": [
      { "visibility": "simplified" }
    ]
  }
]

Per il codice Java e altri dettagli, consulta la guida per nascondere gli elementi della mappa con gli stili.