百度谷歌离线地图解决方案(离线地图下载)

离线地图解决方案,除了买地图数据,使用专业的ArcGIS来做外,也可以使用GMap.Net来做。

关于GMap的开发教程,可以看我以前的文章:基于GMap.Net的地图解决方案

使用了GMap一年了,也有了一些积累,开发了一个可以下载百度、谷歌、高德、腾讯SOSO的地图下载器,各个地图加载显示如下:

百度普通地图:

百度谷歌离线地图解决方案(离线地图下载)

百度混合地图:

百度谷歌离线地图解决方案(离线地图下载)

谷歌普通地图:

百度谷歌离线地图解决方案(离线地图下载)

谷歌混合地图:

百度谷歌离线地图解决方案(离线地图下载)

从目前的情况来看,百度的普通的地图数据是更新最快的,但是有些小地方没有卫星地图,而谷歌几乎所有的地方都有卫星地图,但是谷歌中国的地图更新太慢,比如说南京已经有3号线和10号线了,谷歌地图上就没有。

只要地图能加载显示,就可以下载到本地,开发的地图下载器支持SQLite、MySQL、MsSQL、PostgreSQL等数据库保存,也可以以固定目录组织保存到本地磁盘上,支持ArcGIS的WMS切片服务的图源使用。

下载到本地磁盘的地图:

百度谷歌离线地图解决方案(离线地图下载)

支持的地图下载方式:

(1)选择一个矩形区域下载。

(2)选择某个省、市进行下载。

百度谷歌离线地图解决方案(离线地图下载)

下载到MySQL的地图数据:

百度谷歌离线地图解决方案(离线地图下载)

自己扩展的.Net地图控件主要功能:

1)下载百度、谷歌、高德、腾讯的地图,按区域下载或是省市边界下载。

2)各类画图工具:矩形、圆形、多边形、线段、折线段。可以作为电子围栏、地图圈选工具、地图画图工具使用。

百度谷歌离线地图解决方案(离线地图下载)

3)各种图标:图片、图片+文字说明、gif动态图片、带旋转角度的箭头、闪动的报警图标

百度谷歌离线地图解决方案(离线地图下载)    百度谷歌离线地图解决方案(离线地图下载)

 

4)类似百度地图的“测距”功能:两点之间的距离,或者根据某个距离在地图上展示线段或者多边形。

百度谷歌离线地图解决方案(离线地图下载)

5)发布离线地图服务:这里的离线地图只是地图显示服务,将下载的离线地图数据作为Http服务发布在局域网内使用。

这样的离线地图客户端仍然可以使用GMap.Net,而Web端可以使用Openlayers或者是Leaflet等js库做。

百度谷歌离线地图解决方案(离线地图下载)

6)GPX数据的读取与展示。

7)KML数据的保存与读取展示。

8)POI数据查询展示:

通过省市名称和关键字查询POI数据,图示如下:

百度谷歌离线地图解决方案(离线地图下载)

9)地址定位:输入地址关键字定位到某些点。

百度谷歌离线地图解决方案(离线地图下载)

配置使用:MapDownloader.exe.config配置文件

  <appSettings>

    <!--Mysql Server的IP和Port-->

    <add key="MySQLServerIP" value="127.0.0.1"></add>

    <add key="MySQLServerPort" value="3306"></add>

    <!--Mysql Server的数据库名、用户名、密码-->

    <add key="Database" value="mapcache"></add>

    <add key="UserID" value="root"></add>

    <add key="Password" value="admin"></add>

    <!--地图中心点坐标:-->

    <!--南京:118.773,32.043-->

    <add key="MapCenter" value="118.773,32.043"></add>

    <!--本地存储切片的路径-->

    <add key="TilePath" value="D:\\GisMap"></add>

    <!--下载失败时重试的最大次数,网络状态不好时候可修改为一个大的整数值,比如10-->

    <add key="Retry" value="3"></add>

  </appSettings>

一些功能说明:

1)下载方式:

        (1)在“画图工具”中选择“矩形”画图(按着左键拖动鼠标,放开左键完成画图),右边输入要下载的Zoom,点击下载即可。

        (2)在“区域下载”下点击某个省、市,右边输入要下载的Zoom,点击下载即可。

2)下载速度:

        下载采用了单线程,一张一张图片进行下载的,没有采用多线程,有待改进。选择某个市的前15级下载还是比较快的,16级以后由于图片数量巨大,下载需要等待较长时间。

3)下载储存方式:

        默认是在MapCache下SQLite数据库里(\MapCache\TileDBv5\en\Data.gmdb),下载后可使用相应工具打开数据库查看。如果要保存到MySQL里,需要修改对应配置文件里的配置项。

4)测试下载的地图是否可用:

        在“地图访问”中选择“本地缓存”,则地图自动切换到离线模式,使用本地下载的缓存来访问地图。

5)“拼接图”测试:

        在“画图工具”中选择“矩形”画图,画要拼接的范围,填入要拼接的Zoom,点击“拼接图”,会自动在程序运行目录下生成一张拼接大图。

6)离线Web服务:

        勾选“离线Web服务”,可以将下载的地图切片发布为地图底图服务,可用于局域网下的Web项目,仅仅用于测试。

 

下载地址:http://pan.baidu.com/s/1hqvQr7e

联系方式:站内信,QQ:599965176

 

参考:

http://www.cnblogs.com/luxiaoxun/p/3802559.html

http://www.cnblogs.com/luxiaoxun/category/513908.html

 

你可能感兴趣的:(解决方案)