4


我正在开发一个 android Google Maps 应用程序,并且在使用地图标记时遇到了问题。

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

有没有人做过类似的事情?

4

2 回答 2

7

虽然您可以创建一个InfoWindowAdapter,并将其附加到您的GoogleMapvia setInfoWindowAdapter(),以定制信息窗口的内容以包含 a Button,但Button将无法单击。不显示您ViewgetInfoContents()in返回。InfoWindowAdapter相反,它被转换为 a Bitmap,并且该图像就是显示的内容。

但是,您可以OnInfoWindowClickListener通过setOnInfoWindowClickListener()您的GoogleMap.

于 2013-01-24T20:43:59.957 回答
2

@CommonsWare 关于InfoContent转换为 a 的评论Bitmap是正确的。因此,您不能使用 InfoWindows。尝试使用该GoogleMap.OnMarkerClickListener事件来在 MapView 顶部显示您自己的视图。这GoogleMap.OnMarkerClickListener将帮助您使用单击的标记作为参数。

如果要在正确的位置显示视图,则必须计算屏幕位置。使用 Projection 的toScreenLocation(LatLng location)返回方法Point 将 LatLng 转换为 GoogleMap 的屏幕位置。

有关详细信息,请参阅投影

于 2013-01-24T20:56:07.973 回答