我正在使用Android Google地图应用,但我遇到地图标记问题。
这个问题可能有一个简单的解决方案,但在搜索之后,我只找到了如何使用按钮添加标记的链接。我想要的是不同的:我想要一个标记,其各自的对话框有一个按钮。
有人做过类似的事吗?
答案 0 :(得分:6)
虽然您可以创建InfoWindowAdapter
,并通过GoogleMap
将其附加到setInfoWindowAdapter()
,但要定制信息窗口的内容以包含Button
,{ {1}}无法点击。不会显示从Button
中的View
返回的getInfoContents()
。相反,它被转换为InfoWindowAdapter
,并且该图像是显示的内容。
但是,您可以通过Bitmap
上通过OnInfoWindowClickListener
注册的setOnInfoWindowClickListener()
来了解用户点击信息窗口的时间。
答案 1 :(得分:2)
@CommonsWare关于InfoContent
转换为Bitmap
的评论是正确的。因此,您无法使用InfoWindows。尝试使用GoogleMap.OnMarkerClickListener
事件代替在MapView上显示您自己的视图。 GoogleMap.OnMarkerClickListener
将帮助您使用点击的标记作为参数。
如果要在正确的位置显示视图,则必须计算屏幕位置。使用投影的toScreenLocation(LatLng location)
方法返回Point
将LatLng转换为w.r.t GoogleMap的屏幕位置。
有关详细信息,请参阅Projection。