在前文离线地图下载方法解析 , 离线地图生成工具结构图和离线地图生成工具使用方法
我们重点介绍如果使用引路蜂离线地图制作工具的原理和使用方法,离线地图工具缺省支持从Google地图,Bing地图,MapABC地图,Yahoo地图等地图服务器下载制作离线地图包。
但有些情况下,用户自己已经购买了地图数据(如ArgGIS, MapInfo,PostGIS ,ShapeFile等)需要从这些数据来生成离线地图包。
可以利用GeoServer和引路蜂离线地图包来制作离线地图包:步骤如下:
1. 下载安装GeoServer ,GeoServer是Java应用,可以用于Windows ,Mac OS, Linux,本教程使用Windows 系统,在 http://geoserver.org/display/GEOS/Stable 选择 Windows Installer
2. GeoServer安装成功后,在GeoServer 启动菜单有如下几个菜单项:
首先启动GeoServer,然后进入GeoServer管理页面, 缺省用户名和密码为admin , geoserver.
3. 首先看看随GeoServer安装时自带的地图数据 Data ?>Layers
我们想生成Topp:states 数据的离线地图包,可以在Data -> Layer Preview 中使用 OpenLayers来预览该图层:
4. GeoServer 集成了一个GeoWebCache ,是一个采用Java实现用于缓存WMS(Web Map Service)Tile的开源项目。当地图客户端请求一张新地图和Tile时,GeoWebCache将拦截这些调用然后返回缓存过的Tiles。如果找不到缓存再调用服务器上的Tiles,从而提高地图展示的速度。实现更好的用户体验.
这里不详细介绍GeoWebCache ,只要知道它提供一种和Google Map类似的Tile访问方法 。可以根据Tile的X,Y和Zoom来访问一个图片:
比如安装好GeoServer,在IE地址栏输入:
http://localhost:8080/geoserver/gwc/service/gmaps?layers=topp:states&zoom=1&x=0&y=0 ,表示Zoom为1即是X=0和Y=0的Tile:
5. 下载引路蜂离线地图工具
离线工具下载 http://www.imobilebbs.com/download/tools/downloader.msi 安装版
和 http://www.imobilebbs.com/download/tools/MapTileDownloader.rar 绿色版
离线工具需要.Net Framework Runtime,如果您的计算机上未安装,请下载安装
6. 打开引路蜂离线地图工具的安装目录: 找到 MapDigit.exe.config ,这是 MapDigit.exe的配置文件,这个配置文件缺省定义了多个地图服务器(软件Google地图,Bing地图等)。
我们重用GOOGLESATELLITE这个类型,将它重新定义为:
<add key=?GOOGLESATELLITE? value=?http://localhost:8080/geoserver/gwc/service/gmaps?layers=topp:states#zoom={ZOOM}#x={X}#y={Y}? />
可以对比一下 URL:
http://localhost:8080/geoserver/gwc/service/gmaps?layers=topp:states&zoom=1&x=0&y=0
将& 改成# Zoom=1 , x=0 ,y= 改成zoom={ZOOM},x={X},y={Y}从而就为Layer: topp:states 定义好了URL模板,然后启动MapDigit.exe ,在下来框中选择 GOOGLESATELLITE。
后面就可以和下载Google地图,Bing地图一样来制作离线地图包了,地图数据源来自GeoServer。离线地图生成工具使用方法
限于篇幅,将在下一篇介绍如果使用ShapeFile做为GeoServer的数据源。