【问题标题】:How to add a button to a API v2 Google Maps marker如何向 API v2 Google Maps 标记添加按钮
【发布时间】:2013-01-24 20:30:46
【问题描述】:


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

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

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

【问题讨论】:

  • 地图 V2 中没有与标记关联的“对话框”。您是指点击标记时出现的信息窗口吗?
  • @CommonsWare:很抱歉,但正是那个信息窗口。

标签: android google-maps marker


【解决方案1】:

虽然您可以创建一个InfoWindowAdapter,并通过setInfoWindowAdapter() 将其附加到您的GoogleMap,以定制信息窗口的内容以包含Button,但Button 将不可点击。您在InfoWindowAdapter 中从getInfoContents() 返回的View 不显示。而是将其转换为Bitmap,并显示该图像。

但是,您可以通过setOnInfoWindowClickListener() 在您的GoogleMap 上注册的OnInfoWindowClickListener 了解用户何时点击信息窗口。

【讨论】:

  • 谢谢!我没有找到好的帮助,因为我之前使用的是对话框而不是信息窗口。问题解决了!
【解决方案2】:

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

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

更多信息请参见Projection

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 2012-12-31
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多