谷歌地图GroundOverlay闪烁我的图片

7
我在我的Android应用程序中使用GoogleMaps,并希望在地图上显示一个动画雷达图像。
我有一个6位图组成的数组。当用户点击播放按钮时,地图将循环显示这些图像中的每一个。
虽然这个方法可以实现功能,但是在图像之间进行过渡时,如果我不调用GoogleMap.clear(),那么这些图像会不断地叠加在一起。
如果我确实调用了GoogleMap.clear(),那么我会看到恼人的闪烁。我希望在下一个图像展示之前,当前的图像仍留在地图上。
有没有好的方法来解决这个问题?
或许有关于GoogleMaps的双缓冲选项吗?

你找到解决问题的方法了吗?我也在我的应用程序中寻找同样的东西。 - Ansh
我讨厌我使用的解决方案,但我的同事认为它足够好。事实证明,只有当位图过大以至于无法快速处理时(我的位图是1200x1200),问题才会存在。除此之外,如果你放大得太近,应用程序会耗尽内存并崩溃。最后,我完全停止使用GoogleMap GroundOverlay,而是在GoogleMap上方使用一个ImageView。我使用GoogleMap.getProjection().toScreenLocation()来确定图像边界的位置。 - KairisCharm
你还在使用GoogleMap.Clear()来在图片之间进行过渡吗?或者你使用其他方法了吗? - Ansh
好的,我从来没有使用GroundOverlay,因此在GoogleMap上没有需要清除的内容。 - KairisCharm
1
使用动画 .gif 代替会不会太疯狂了? - Greg
我曾经使用过Google地图,并且为了提高速度,我将所有处理工作放在后台线程(在我的情况下是HandlerThread)上进行,而将所有UI相关的操作放在UI线程上,例如删除、添加标记等。希望这能有所帮助。 - Andrei T
1个回答

0

实际上,我最终做的是扩展GoogleMap类并覆盖onDraw函数以符合我的需求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接