当用户点击某个地图注点 (POI) 时,Android 版 Maps 3D SDK 会显示该 POI 的地点微件。您可以使用 OnMap3DClickListener 监听点击事件并抑制此 widget。地点微件要求您将 Places SDK 添加为依赖项。
监听点击事件
如需监听地图上的点击事件,请在 GoogleMap3D 实例上调用 setMap3DClickListener。
当用户点击地图时,onMap3DClick 回调会收到一个 Map3DClickEvent 对象,其中包含以下属性:
location:表示点击的地理坐标和海拔高度的LatLngAltitude。placeId:点击位置处的地点的唯一标识符 (String?);如果没有,则为null。
onMap3DClick 方法会返回 Boolean:
- Return
false:显示默认的地点界面微件(如果placeId不是null)。 - Return
true:禁止显示默认的地点界面微件。
以下示例展示了如何设置点击监听器并抑制默认的地点界面微件,以执行自定义操作:
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
}