標籤:
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載入本地的地圖切片
現在,完全可以脫離網路使用百度地圖了。樣本源碼如下:
<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>百度離線地圖示範</title> <script type="text/javascript" src="js/apiv1.3.min.js"></script> <script type="text/javascript" src="js/map,oppc,navictrl,tile,copyrightctrl"></script> <!--script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script--> <link rel="stylesheet" type="text/css" href="bmap.css" /> </head> <body> <div style="left:0;top:0;width:100%;height:100%;position:absolute;" id="container"></div> </body></html><script type="text/javascript"> var tileLayer = new BMap.TileLayer({ isTransparentPng: true }); tileLayer.getTilesUrl = function (tileCoord, zoom) { var x = tileCoord.x; var y = tileCoord.y; return ‘maptile/‘ + zoom + ‘/‘ + x + ‘/‘ + y + ‘.png‘; } var map = new BMap.Map(‘container‘); map.addTileLayer(tileLayer); map.addControl(new BMap.NavigationControl()); map.centerAndZoom(new BMap.Point(100.675, 39.007978), 5); map.enableScrollWheelZoom(); //啟用滾輪放大縮小 map.enableKeyboard(); //啟用鍵盤操作,預設禁用。鍵盤的上、下、左、右鍵可連續移動地圖。 map.enableContinuousZoom();//啟用連續縮放效果 var copyCtrl = new BMap.CopyrightControl({ anchor: BMAP_ANCHOR_BOTTOM_RIGHT }); copyCtrl.addCopyright({ id: 1, content: "http://maptiledownloader.googlecode.com 百度離線地圖示範" }); map.addControl(copyCtrl);</script>
製作百度地圖離線JavaScript API載入本地瓦片地圖