制作百度地圖離線JavaScript API加載本地瓦片地圖


1.首先獲取百度 JavaScript API

首先用瀏覽器打開 http://api.map.baidu.com/api?v=1.3 如下圖所示

其中 http://api.map.baidu.com/getscript?v=1.3&key=&services=&t=20121108061854 這個鏈接就是我們要找的API文件,

同樣在瀏覽器中打開它,並另存為諸如“apiv1.3.min.js”

還有百度地圖必須的一些控件,光標,logo之類的圖片也下載下來

2.修改“apiv1.3.min.js”把里面的地圖控件的圖片,光標,logo等鏈接替換成本地的。

3.下載百度地圖瓦片,這個有很多方法可以獲取。比如這個工具:MaptileDownloader

4.開始使用離線地圖api加載本地的地圖切片

現在,完全可以脫離網絡使用百度地圖了。示例源碼如下:

 1 <!DOCTYPE html>
 2 <html>
 3     
 4     <head>
 5         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6         <title>百度離線地圖演示</title>
 7         <script type="text/javascript" src="js/apiv1.3.min.js"></script>
 8         <script type="text/javascript" src="js/map,oppc,navictrl,tile,copyrightctrl"></script>
 9         <!--script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script-->
10         <link rel="stylesheet" type="text/css" href="bmap.css" />
11     </head>
12     
13     <body>
14         <div style="left:0;top:0;width:100%;height:100%;position:absolute;" id="container"></div>
15     </body>
16 
17 </html>
18 <script type="text/javascript">
19     var tileLayer = new BMap.TileLayer({
20         isTransparentPng: true
21     });
22     tileLayer.getTilesUrl = function (tileCoord, zoom) {
23         var x = tileCoord.x;
24         var y = tileCoord.y;
25         return 'maptile/' + zoom + '/' + x + '/' + y + '.png';
26     }
27     
28     var map = new BMap.Map('container');
29     map.addTileLayer(tileLayer);
30     map.addControl(new BMap.NavigationControl());
31     map.centerAndZoom(new BMap.Point(100.675, 39.007978), 5);
32     map.enableScrollWheelZoom();  //啟用滾輪放大縮小
33     map.enableKeyboard();       //啟用鍵盤操作,默認禁用。鍵盤的上、下、左、右鍵可連續移動地圖。
34     map.enableContinuousZoom();//啟用連續縮放效果
35 
36     var copyCtrl = new BMap.CopyrightControl({
37         anchor: BMAP_ANCHOR_BOTTOM_RIGHT
38     });
39     copyCtrl.addCopyright({
40         id: 1,
41         content: "http://maptiledownloader.googlecode.com 百度離線地圖演示"
42     });
43     map.addControl(copyCtrl);
44 </script>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM