移动端离线地图方案(Leaflet)

1,194 阅读2分钟

Leaflet 一个开放源代码的JavaScript库, 用于移动友好的交互式地图

1.下载地图切片数据放在应用目录直接加载

  • 优点:简单方便
  • 缺点:使应用变大
  • 概括:适用地图数据略少,应用简单的情形

2.把地图切片数据生成mbtiles格式

这是一种sqlite数据库储存切片数据的一种格式,利用Leaflet.TileLayer.MBTiles.js和sql.js插件可以加载出地图

  • 优点:地图数据比1方案大大缩减
  • 缺点:MBTiles数据是按照OSGeo的TMS规范来生成和组织的地图瓦片,且支持的图片存储类型为PNG和JPG。目前iServer中只支持PCS_WGS_1984_WORLD_MERCATOR坐标系的地图切成MBTiles瓦片,且最多只能切20级固定比例尺,采用Portable Basemap Server工具能把argis的紧凑型图片生成mbtiles文件,但会报错 ArcGlS cache converting to MBTiles error! The WKID of ArcGlS Cache is not 3857 or 102100!(地图会把MBTiles文件整体加载,如果MBTiles文件很大会使加载很慢且在移动端会内存溢出)
  • 概括:适用地图数据少,应用简单的情形

3.使用超图SMTiles格式数据

优点:

  • (1) SMTiles命名格式为.smtiles,并支持任意坐标系、任意比例尺,切片的起算原点为任意 指定点,行列号的方向为原点开始向左下递增;

  • (2) SMTiles格式的地图瓦片的存储类型不仅支持PNG、JPG,还支持PNG和JPG混合格式的瓦片; 缺点:leaflet暂未找到加载SMTiles格式数据的插件 概括:leaflet暂不可实现