我正在开发一个安卓谷歌地图应用程序,并且在使用地图标记时遇到问题。
这个问题可能有一个微不足道的解决方案,但在搜索后,我只找到了有关如何添加带有按钮的标记的链接。我想要的是不同的:我想要一个标记,其各自的对话框都有一个按钮。
有没有人做过类似的事情?
虽然你可以创建一个InfoWindowAdapter
,并通过setInfoWindowAdapter()
将其附加到你的GoogleMap
,以定制信息窗口的内容以包含Button
,但Button
将不可点击。不会显示您从getInfoContents()
返回InfoWindowAdapter
View
。相反,它被转换为 Bitmap
,并且该图像是显示的内容。
但是,您可以了解用户何时通过setOnInfoWindowClickListener()
注册的OnInfoWindowClickListener
点击信息窗口 GoogleMap
.
@CommonsWare关于InfoContent
转换为Bitmap
的评论是正确的。因此,您不能使用InfoWindows。尝试改用 GoogleMap.OnMarkerClickListener
事件在 MapView 顶部显示您自己的视图。该GoogleMap.OnMarkerClickListener
将帮助您使用单击的标记作为参数。
如果要在正确的位置显示视图,则必须计算屏幕位置。使用投影的toScreenLocation(LatLng location)
方法返回Point
将LatLng转换为GoogleMap的屏幕位置。
有关详细信息,请参阅投影。