谷歌地图自定义瓦片加载缓慢

3
我正在尝试使用自定义瓦片的Google地图。为此,我使用了Google API演示中的样例:https://github.com/googlemaps/android-samples,并以TileOverlayDemoActivity作为基础进行开发。一切都按预期工作,但是当您缩放地图时,所有瓦片都消失了,然后重新生成,结果导致出现一个大约一两秒钟的灰色屏幕。如果您稍后再次缩放到该级别,问题就不存在了,但是,但是,如果重新启动应用程序,则问题会再次出现!这是我从API Demo的应用程序中创建的录制(原样未更改):https://www.youtube.com/watch?v=OZ3aqLOZ2CY。起初我认为下载瓦片需要一些时间,因此我尝试使用轻量级的TileProvider进行测试:
public class MyTileProvider implements TileProvider {

    @Override
    public Tile getTile(int i, int i1, int i2) {
            return new Tile(256, 256, byteArray);
    }
}

其中byteArray始终相同,只需从一次生成的“Bitmap”创建:

  ByteArrayOutputStream stream = new ByteArrayOutputStream();
  b.compress(Bitmap.CompressFormat.PNG, 100, stream);
  byteArray = stream.toByteArray();

但是,这里仍然存在相同的问题。

我认为没有解决此问题的方法,因为我在网上没有找到任何解决方案。

但如果有人有解决办法,我可以接受。我正在考虑尝试从顶部到底部缩放每个级别,以便它们只被绘制一次(因为我在绘制缩放级别后没有看到这个问题)。


也许值得在公共问题跟踪器中提交一个错误报告。 - xomena
我相信这已经被报告过了,但是,Android的一些需要修复的问题往往得不到足够的关注。 - Boy
1个回答

0

我有一个解决方法,并在另一个问题这里中回答了它。


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