我正在使用Google maps APIv2 for android。我已经实现了MapFragment,将标记放在我需要的位置,为标记添加了自定义InfoWindow。
问题是 - 我的 InfoWindow 中有 AsyncImages ,并且 ProgressBar 。事情是 - ProgressBar 没有旋转,并且在我从缓存中获取后没有设置Image。 AsyncImages运行良好。我已将它测试到另一个类。
我只用一个 ProgressBar 替换了我的 AsyncImages 视图 - 相同。它不旋转。
有什么建议?
旋转器不会旋转原因
注意:绘制的信息窗口不是实时视图。观点是 在它的时候呈现为图像(使用View.draw(Canvas)) 回。这意味着对视图的任何后续更改都不会 通过地图上的信息窗口反映出来。更新信息窗口 稍后(例如,在图像加载后),调用showInfoWindow()。 此外,信息窗口不会考虑任何交互性 典型的普通视图,如触摸或手势事件。不管你 可以在整个信息窗口上收听通用点击事件 在下面的部分中描述。
所以问题是 - 如何以最佳方式从地图上的网络/缓存实现AsyncImages?
在 getContentInfo() 方法的某处创建视图数组,并创建像 OnImageDownloaded 这样的侦听器?
答案 0 :(得分:5)
如Google Maps Android API v2 Documentation所述:
注意:绘制的信息窗口不是实时视图。观点是 在它的时候呈现为图像(使用
View.draw(Canvas)
) 回。这意味着对视图的任何后续更改都不会 通过地图上的信息窗口反映出来。更新信息窗口 稍后(例如,在图像加载后),请致电showInfoWindow()
。 此外,信息窗口不会考虑任何交互性 典型的普通视图,如触摸或手势事件。不管你 可以在整个信息窗口上收听通用点击事件 在下面的部分中描述。
也许您应该尝试在代码中再次调用showInfoWindow()
。
答案 1 :(得分:0)
我在这里遇到了同样的问题。
我认为为旋转(不确定)进度条调用showInfoWindows()对我来说没有意义,而且我也不确定它是否有效。 (当然showinfoWindows可能对水平进度条有意义) 所以我选择了以下三种解决方案之一,
1)在“正在加载...”文本旁边没有动画的进度条,它至少向用户提供了一个想法。 2)将装载纺车放在UI的其他地方。 3)使用对话框片段来显示加载过程,但这实际上取决于您希望通过应用程序实现的感觉。
就我个人而言,我选择了第一个。
我真的希望谷歌将来能解决这个问题。