需要关注的就几个关键点:
1、mbtiles 文件其实就是一个 sqllite 数据库文件。
2、高德sdk 的回调函数
@Override
public final Tile getTile(int x, int y, int zoom) {
byte[] image = xxx;
return new Tile(TILE_WIDTH, TILE_HEIGHT, image);
}
3、关键点在于 y 坐标的转换。
private int displaceY(int zoom, int y) {
if (zoom < 0) {
return y;
}
return (1 << zoom) - y - 1;
}
完整工具类 如下
https://gitee.com/Aivin_CodeShare/android_tool_code/raw/master/MbTilesDataTool.java