`
king_tt
  • 浏览: 2097968 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

离线地图制作工具

 
阅读更多

最近有很多朋友都在问我地图下载的工具,其实这样的工具网上已经很多了,搜一下就能找得到,基本原理都是一样:

1.选择一定的地图范围。

2.选择需要下载的地图源。

3.选择需要下载的等级。

4.开始下载。

只是每一个软件都会有自己的特点,为了满足不同的需求而以。其实地图下载下来后,最主要的目的还是要应用起来,这就需要结合离线地图的平台.

Google Map API V3.8.6的版本我在之前就发布过,有需要的请自己下载。今天更详细的跟大家讲一下这两个步骤如何结合起来。

1.地图的下载

新制作了一个地图下载的工具,界面如下,操作其实已经很简单了,看图就能明白:

目前地图下载工具可以支持Mapabc、谷歌矢量图、谷歌影像图三种图进行下载,如果需要更多的图源,可以跟我联系。

下载完成后,在应用程序的目录下会生成一个maptile目录,这个目录是存放刚才下载的地图数据。

2.加载本地数据

地图数据我们已经下载下来了,我们使用离线版的Google Map API对图片进行加载:

复制代码
 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
 5 <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
 6 <link href="mapfiles/css/default.css" rel="stylesheet" type="text/css" />
 7 <title>Google Maps JavaScript API v3 Example: Map Simple</title>
 8 <!--script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script-->
 9 <script type="text/javascript" src="mapapi3.8.6.js"></script>
10 <script type="text/javascript">
11 
12   function LocalMapType() {} 
13   
14   LocalMapType.prototype.tileSize = new google.maps.Size(256, 256);
15   LocalMapType.prototype.maxZoom = 19;   //地图显示最大级别
16   LocalMapType.prototype.minZoom = 1;    //地图显示最小级别
17   LocalMapType.prototype.name = "本地数据";
18   LocalMapType.prototype.alt = "显示本地地图数据";
19   LocalMapType.prototype.getTile = function(coord, zoom, ownerDocument) {
20       var img = ownerDocument.createElement("img");
21       img.style.width = this.tileSize.width + "px";
22       img.style.height = this.tileSize.height + "px";
23       //地图存放路径
24       //谷歌矢量图 maptile/googlemaps/roadmap
25       //谷歌影像图 maptile/googlemaps/roadmap
26       //MapABC地图 maptile/mapabc/
27       var strURL = "maptile/mapabc/";
28       strURL += zoom + "/" + coord.x + "/" + coord.y + ".PNG";
29 
30       img.src = strURL;
31       return img;
32   };
33   
34   var localMapType = new LocalMapType();
35    
36   function initialize() {
37     var myLatlng = new google.maps.LatLng(39.900827854566344, 116.38339402421877);
38     var myOptions = {
39       center: myLatlng,
40       zoom: 4,
41       streetViewControl: false,
42       mapTypeControlOptions: {
43             mapTypeIds: [
44             google.maps.MapTypeId.ROADMAP,
45             google.maps.MapTypeId.HYBRID,
46             google.maps.MapTypeId.SATELLITE,
47             google.maps.MapTypeId.TERRAIN,
48             'locaMap' ]  //定义地图类型
49         }
50     };
51     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
52     
53     map.mapTypes.set('locaMap', localMapType);   //绑定本地地图类型
54     map.setMapTypeId('locaMap');    //指定显示本地地图
55     
56     //var markerOptions = new google.maps.MarkerOptions({draggable:true});
57     var marker = new google.maps.Marker({
58         position: myLatlng, 
59         map: map,
60         draggable:true,
61         title:"Hello World!"
62     });
63     
64     var infowindow = new google.maps.InfoWindow(
65         { content:"latlng:" + marker.getPosition().toString(),
66           size: new google.maps.Size(50,50)
67         });
68 
69     google.maps.event.addListener(marker, 'click', function() {
70       infowindow.setContent("latlng:" + marker.getPosition().toUrlValue(6));
71       infowindow.open(map,marker);
72     }); 
73   }
74 </script>
75 </head>
76 <body onload="initialize()">
77   <div id="map_canvas"></div>
78 </body>
79 
80 </html>
复制代码

示例中是加载本地Mapabc的地图,如果需要其它的地图,只需要把路径改一下即可,如果需要布置到服务器的话,改成服务器地址就行。

地图下载工具和离线版本我都打成一个包,并附带了一部分下载的示例数据,解压后直接打开map-simple.html文件,你应该可以看到本地的地图数据,祝你成功!

地图下载目前只是一个测试版,后续可能还会修改,如果你有什么好的想法,也请告诉我。

本程序只用于学习用。

离线地图制作工具下载

分享到:
评论

相关推荐

    手机离线地图制作工具

    手机离线地图制作工具 手机离线地图制作工具是一款PC程序,它不用安装,直接可以放在一个目录下运行。之所以要放到一个目录下是因为方便管理它所下载的地图图片文件。 这个程序在线连接到Google地图服务器上,操作...

    新版手机离线地图制作工具

    新版手机连线地图制作工具是在原制作工具的基础上进行了必要的升级,其中增加了地图下载的多线程功能,使下载速度更快。增加了地图数据的排序功能,使索引地图的速度提高,地图浏览更流畅。 新版工具数据适用于新版...

    百度地图离线版制作工具.rar

    公司项目内网必须用离线百度地图,此工具可用于离线地图制作,需按离线API开发,原理是通过切片完成地图拼图,只有默认样式和混合样式,无自定义styleapi

    百度离线地图瓦片下载工具V2.7.0323

    推荐他的理由: 1、良心制作,没广告,没水印,免费下载百度地图瓦片; 2、80线程同时下载,目前最快的百度地图瓦片下载器; 3、百度离线地图同行前辈Grearo打造,值得敬仰。

    Qt加载百度离线地图 百度地图离线API 1.3 保证可用

    Qt加载百度离线地图 1.下载百度地图离线API 1.3 下载链接:http://download.csdn.net/detail/caoshangpa/9476608,网上虽然出现了2.0版本离线API,但是经试用,存在很多问题。该1.3版本离线API也是由高人制作,我...

    google地图离线数据包下载工具

    离线地图包下载工具,大家可以定制自己的离线地图包,支持多种格式的离线地图, 不仅只有GoogleMap,Rmap等其他还有很多,需要其他格式的请自行下载制作。 关于工具的用法,大家可以参见如下网站...

    百度离线地图API V2.1 内含示例Demo,亲测可用

    1)离线地图不是万能的, 有些依赖在线的功能是无法使用的, 请自行扩展 2)请查看 离线地图示例demo.html 里面的示例,或者查看地图API在线示例: http://developer.baidu.com/map/jsdemo.htm 3) 地图API请查看百度...

    地图离线制作

    地图离线制作,谷歌地图离线制作最好工具!

    GIS的学习(九)应用osmdroid制作android离线地图app实现

    NULL 博文链接:https://topmanopensource.iteye.com/blog/1637317

    Rmaps Ext离线地图文件制作教程及工具-附件资源

    Rmaps Ext离线地图文件制作教程及工具-附件资源

    应用地图的

    手机离线地图制作工具是一款PC程序,它不用安装,直接可以放在一个目录下运行。之所以要放到一个目录下是因为方便管理它所下载的地图图片文件。

    省会和直辖市地图结构设置数据

    这里的数据是《手机离线地图制作工具》程序的地图结构设置数据,依据此数据,可以直接下载各个省会城市的地图,并生成手机适用的地图数据文件。 每一个城市都有自身的道路图与卫星图之间的误差校正值,而已精确地...

    离线google地图API(含sample)+瓦片下载资源

    支持移动端应用谷歌地图API,包括如何加载离线地图及其配置。另外还包括瓦片的制作工具

Global site tag (gtag.js) - Google Analytics