Per impostazione predefinita, i punti d'interesse (PDI) vengono visualizzati sulla mappa base insieme alle relative icone. I PDI includono parchi, scuole, edifici governativi e altro ancora.
Inoltre, i PDI delle attività vengono visualizzati per impostazione predefinita sulla mappa quando il tipo di mappa è normal. I PDI di un'attività rappresentano attività come negozi, ristoranti, hotel e altro ancora. I PDI di un'attività sulle mappe di interni (piantine) 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 fontane d'acqua in genere non lo sono (a meno che non abbiano un significato nazionale o storico).
Ascolta gli eventi di clic sui PDI
Se vuoi rispondere a un utente che tocca un PDI, puoi utilizzare un
OnPoiClickListener come mostrato nell'esempio di codice
seguente:
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. In altre parole, l'API non visualizza automaticamente una finestra informativa o un'altra interfaccia utente quando l'utente tocca un PDI.
Come mostrato nell'esempio precedente, imposti
OnPoiClickListener sulla mappa
chiamando
GoogleMap.setOnPoiClickListener(OnPoiClickListener).
Quando un utente fa clic (tocca) su un PDI, la tua app riceve un evento OnPoiClick(PointOfInterest) che indica il punto di interesse (PDI) su cui l'utente ha fatto clic. PointOfInterest contiene le coordinate di latitudine/longitudine, l'ID luogo e il nome del punto d'interesse.
Interrompi la visualizzazione dei PDI sulla mappa
Puoi nascondere i punti d'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 delle attività sulla mappa:
[
{
"featureType": "poi.business",
"stylers": [
{ "visibility": "off" }
]
}
]
Un altro esempio è il seguente JSON, che semplifica la visualizzazione di tutte le categorie di PDI:
[
{
"featureType": "poi",
"stylers": [
{ "visibility": "simplified" }
]
}
]
Per il codice Java e altri dettagli, consulta la guida su come nascondere gli elementi della mappa con lo stile.