如何在谷歌地图片段中膨胀自定义视图?
要在地图上添加图像/点,我们可以使用 Markers 或 GroundOverlay,但如果我们需要自定义视图(例如,列表或带有按钮的图像),这两个类的属性.icon
和.image
分别接收一个 BitmapDescriptor,这会变成一个给定的布局成普通图像,失去其多功能性,例如无法在按钮上添加 onClickListeners。
那么有没有办法在谷歌地图片段中添加自定义视图而不将其转换为图像?
如何在谷歌地图片段中膨胀自定义视图?
要在地图上添加图像/点,我们可以使用 Markers 或 GroundOverlay,但如果我们需要自定义视图(例如,列表或带有按钮的图像),这两个类的属性.icon
和.image
分别接收一个 BitmapDescriptor,这会变成一个给定的布局成普通图像,失去其多功能性,例如无法在按钮上添加 onClickListeners。
那么有没有办法在谷歌地图片段中添加自定义视图而不将其转换为图像?
文档清楚地指出,视图将被渲染成图像,从而取消先前对视图的任何更改。因此,无法在谷歌地图中创建具有不同行为的自定义视图。
注意:绘制的信息窗口不是实时视图。视图在返回时呈现为图像(使用 View.draw(Canvas))。这意味着对视图的任何后续更改都不会反映在地图上的信息窗口中。要稍后更新信息窗口(例如,加载图像后),请调用 showInfoWindow()。此外,信息窗口不会尊重任何普通视图的典型交互性,例如触摸或手势事件。但是,您可以在整个信息窗口上收听通用单击事件,如下节所述。
来自文档:链接