Android谷歌地图APIv2 InfoWindow和Markers

时间:2013-01-15 09:14:34

标签: android progress-bar android-imageview google-maps-android-api-2


我正在使用Google maps APIv2 for android。我已经实现了MapFragment,将标记放在我需要的位置,为标记添加了自定义InfoWindow。

问题是 - 我的 InfoWindow 中有 AsyncImages ,并且 ProgressBar 。事情是 - ProgressBar 没有旋转,并且在我从缓存中获取后没有设置Image。 AsyncImages运行良好。我已将它测试到另一个类。
我只用一个 ProgressBar 替换了我的 AsyncImages 视图 - 相同。它不旋转。

有什么建议?

UPD。

旋转器不会旋转原因

  

注意:绘制的信息窗口不是实时视图。观点是   在它的时候呈现为图像(使用View.draw(Canvas))   回。这意味着对视图的任何后续更改都不会   通过地图上的信息窗口反映出来。更新信息窗口   稍后(例如,在图像加载后),调用showInfoWindow()。   此外,信息窗口不会考虑任何交互性   典型的普通视图,如触摸或手势事件。不管你   可以在整个信息窗口上收听通用点击事件   在下面的部分中描述。

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

2 个答案:

答案 0 :(得分:5)

Google Maps Android API v2 Documentation所述:

  

注意:绘制的信息窗口不是实时视图。观点是   在它的时候呈现为图像(使用View.draw(Canvas))   回。这意味着对视图的任何后续更改都不会   通过地图上的信息窗口反映出来。更新信息窗口   稍后(例如,在图像加载后),请致电showInfoWindow()。   此外,信息窗口不会考虑任何交互性   典型的普通视图,如触摸或手势事件。不管你   可以在整个信息窗口上收听通用点击事件   在下面的部分中描述。

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

答案 1 :(得分:0)

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

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

1)在“正在加载...”文本旁边没有动画的进度条,它至少向用户提供了一个想法。 2)将装载纺车放在UI的其他地方。 3)使用对话框片段来显示加载过程,但这实际上取决于您希望通过应用程序实现的感觉。

就我个人而言,我选择了第一个。

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