我正在尝试将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 once:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.PNG, 100, stream);
byteArray = stream.toByteArray();
但在这里,仍然是同一个问题。
我认为这个问题没有解决办法,因为我没有在网上找到任何解决方案。
但如果有人有解决方法,我可以接受。我正在考虑尝试从每个级别的顶部到底部放大,以便绘制一次(因为我在绘制缩放级别后没有看到此问题)