我有一些动态瓦片内容需要在地图顶部显示(具体来说,是天气图片--雷达、卫星、温度等)。我正在使用Google Maps API for Android v2。我遇到的问题是,显然更新瓷砖图像的唯一方法(即当新数据到达或当帧在时间跨度动画中推进时)是调用TileOverlay.clearImageCache。不幸的是,当我这样做时,瓦片叠加会闪烁一下。这是因为clearImageCache立即从显示中删除现有的瓦片图像,但在解码和显示新的瓦片图像之前存在延迟。
我正在使用自定义的TileProvider缓存瓦片图像,而不是每次从服务器获取它们。但即使它只传递缓存的瓦片(即我的TileProvider.getTile实现没有施加任何显著的延迟),在过程中仍然存在足够的延迟,以至于用户可以看到闪烁。
有人知道如何避免这种闪烁吗?有没有办法可以双缓冲瓦片叠加层?我试着用地图上附加的两个TileOverlays来双缓冲它,其中一个是不可见的,但是即使我调用clearImageCache后,不可见的TileOverlay也不会开始从我的TileProvider获取任何瓦片。
我正在使用自定义的TileProvider缓存瓦片图像,而不是每次从服务器获取它们。但即使它只传递缓存的瓦片(即我的TileProvider.getTile实现没有施加任何显著的延迟),在过程中仍然存在足够的延迟,以至于用户可以看到闪烁。
有人知道如何避免这种闪烁吗?有没有办法可以双缓冲瓦片叠加层?我试着用地图上附加的两个TileOverlays来双缓冲它,其中一个是不可见的,但是即使我调用clearImageCache后,不可见的TileOverlay也不会开始从我的TileProvider获取任何瓦片。