天天看点

如何构建离线Google地图

地图的下载

由上篇知道谷歌地图瓦片结构的构成。

很容易构造类结构:

namespace GoogleMapDown
{
    public class MapTiles
    {
        public MapTiles(double latitude, double longitude, int zoomLevel)
        {
            this.latitude = latitude;
            this.longitude = longitude;
            this.zoomLevel = zoomLevel;
        }
       public double latitude; //点的纬度
        public double longitude;//点的经度
        public int zoomLevel;   //地图缩放等级
        public int tilesX;      //瓦片的X方向序号
        public int tilesY;      //瓦片的Y方向序号

    }
}
           

也就得到指定经纬度和缩放等级的点所在瓦片的序号。

如果知道:瓦片坐标[left,up],[right,down],也就可以通过遍历来获取地图上指定区间和等级的谷歌地图瓦片了。

使用相同方法下载不同等级的图片就能构成有等级的地图。

地图的存放

使用如下路径:

imagePath = rootPath + "\\"  + zoomLevel + "\\" + tilesX + "\\" + tilesY + ".png";

地图显示

如何构建离线Google地图

下载