![Photo showing a small popover with place details in the bottom of the screen resulting from a click.](https://developers.google.com/static/maps/documentation/maps-3d/images/maps_3d_places_demo.png)

When a user clicks on a point of interest (POI), the Maps 3D SDK for Android displays
a [Places widget](https://developers.google.com/maps/documentation/places/android-sdk/places-ui-kit-overview.md.txt)
for that POI. You can listen for click events and suppress this widget using
[`OnMap3DClickListener`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/OnMap3DClickListener.md.txt).
The Places widget requires you to add the [Places
SDK](https://developers.google.com/maps/documentation/places/android-sdk) as a dependency.

> [!NOTE]
> **Note:** By default, the Places UI widget shows when a point of interest is clicked. You must override this behavior to suppress the widget in your application.

## Listen for click events

To listen for click events on the map, call
[`setMap3DClickListener`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/GoogleMap3D.md.txt#setMap3DClickListener(com.google.android.gms.maps3d.OnMap3DClickListener))
on your
[`GoogleMap3D`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/GoogleMap3D.md.txt)
instance.

When a user clicks on the map, the
[`onMap3DClick`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/OnMap3DClickListener.md.txt#onMap3DClick(com.google.android.gms.maps3d.model.Map3DClickEvent))
callback receives a
[`Map3DClickEvent`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/Map3DClickEvent.md.txt)
object containing the following properties:

- [`location`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/Map3DClickEvent.md.txt#getLocation()): The [`LatLngAltitude`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/LatLngAltitude.md.txt) representing the geographic coordinates and altitude of the click.
- [`placeId`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/Map3DClickEvent.md.txt#getPlaceId()): The unique identifier (`String?`) for the place at the click location, or `null` if none.

The
[`onMap3DClick`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/OnMap3DClickListener.md.txt#onMap3DClick(com.google.android.gms.maps3d.model.Map3DClickEvent))
method returns a `Boolean`:

- **Return `false`** : Shows the default Places UI widget (if [`placeId`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/Map3DClickEvent.md.txt#getPlaceId()) isn't `null`).
- **Return `true`**: Suppresses the default Places UI widget.

The following example shows how to set a click listener and suppress the
default Places UI widget to perform a custom action:

```kotlin
googleMap3D.setMap3DClickListener { clickEvent ->
    val location = clickEvent.location
    val placeId = clickEvent.placeId

    // Perform custom action, for example logging or showing a custom tooltip
    showCustomTooltip(location, placeId)

    // Suppress the default Places UI widget by returning true
    true
}
```