与地图注点互动

照片显示了点击后在屏幕底部出现的一个包含地点详情的小弹出式窗口。

当用户点击某个地图注点 (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
}