首页 文章

Android谷歌 Map APIv2 InfoWindow和Markers

提问于
浏览
2

我已经实现了MapFragment,将标记放在我需要的地方,为标记添加了自定义InfoWindow .

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

有什么建议?

UPD .

旋转器不会旋转原因

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

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

2 回答

  • 0

    Google Maps Android API v2 Documentation所述:

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

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

  • 5

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

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

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

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

    我真的希望Google将来能解决这个问题 .

相关问题