如何向API v2 Google地图标记添加按钮

时间:2013-01-24 20:30:46

标签: android google-maps marker


我正在使用Android Google地图应用,但我遇到地图标记问题。

这个问题可能有一个简单的解决方案,但在搜索之后,我只找到了如何使用按钮添加标记的链接。我想要的是不同的:我想要一个标记,其各自的对话框有一个按钮。

有人做过类似的事吗?

2 个答案:

答案 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