2


我正在使用适用于 Android 的 Google 地图 APIv2。我已经实现了 MapFragment,将标记放在我需要的地方,为标记添加了自定义 InfoWindow。

问题是 - 我的 InfoWindow 中有AsyncImages那里有ProgressBar。问题是 - ProgressBar没有旋转,并且在我从缓存中获取图像后没有设置它。AsyncImages 运行良好。我已经将它测试到另一个类。 我已经用单个ProgressBar替换了我的AsyncImages视图- 相同。它不旋转。 有什么建议么?


UPD。

微调器不旋转的原因

注意:绘制的信息窗口不是实时视图。视图在返回时呈现为图像(使用 View.draw(Canvas))。这意味着对视图的任何后续更改都不会反映在地图上的信息窗口中。要稍后更新信息窗口(例如,加载图像后),请调用 showInfoWindow()。此外,信息窗口不会尊重任何普通视图的典型交互性,例如触摸或手势事件。但是,您可以在整个信息窗口上收听通用单击事件,如下节所述。

所以问题是 - 如何以最佳方式从地图上的网络/缓存中实现 AsyncImages? 在getContentInfo()
方法 之外的某个地方创建 Views 数组,并创建像OnImageDownloaded这样的监听器?

4

2 回答 2

5

Google Maps Android API v2 文档所述:

注意:绘制的信息窗口不是实时视图。视图在返回时呈现为图像(使用View.draw(Canvas))。这意味着对视图的任何后续更改都不会反映在地图上的信息窗口中。要稍后更新信息窗口(例如,加载图像后),请调用showInfoWindow(). 此外,信息窗口不会尊重任何普通视图的典型交互性,例如触摸或手势事件。但是,您可以在整个信息窗口上收听通用单击事件,如下节所述。

也许您应该尝试showInfoWindow()在代码中再次调用某处。

于 2013-01-15T09:25:52.123 回答
0

我在这里遇到了同样的问题。

我认为为旋转(不确定)进度条调用 showInfoWindows() 对我来说没有意义,我也不确定它是否有效。(当然 showinfoWindows 可能对水平进度条有意义)所以我选择了以下三种解决方案之一,

1)在“正在加载...”文本旁边留下没有动画的进度条,它至少给用户一个想法。2) 将加载旋转轮放在 UI 中的其他位置。3)使用对话框片段来显示加载过程,但这实际上取决于您希望通过应用程序实现的感觉。

我个人选择了第一个。

我真的希望谷歌将来会解决这个问题。

于 2013-03-04T08:51:25.917 回答