下载百度地图API.js
1.下载百度地图api.js
复制红色框内的链接继续跳转
进入页面之后先别着急复制,打开F12,点击红色箭头指示部分,格式代码,复制右边的代码。
2.屏蔽ak验证
找到下列代码,在上面添加一行
if (/^http/.test(a)) return;//修改 屏蔽ak验证,若调用外部资源直接返回
if (b) {
var c = (1E5 * Math.random()).toFixed(0);
D._rd["_cbk" + c] = function(a) {
b && b(a);
delete D._rd["_cbk" + c]
}
;
a += "&callback=BMap._rd._cbk" + c
}
查找可能会出现查找不到的情况,请仔细检查查找内容,个人建议搜索‘(1E5 * Math.random()).toFixed(0)’
3.下载百度地图模块并引用
是的,继续搜索下列内容,值可能发生改变,毕竟百度地图也在更新
这里是所有的模块,用到时自动加载(在线),离线的话要先下载下来放到本地,如 api0.map.bdimg.com/getmodules?…
模块命名格式是map_dbwcej,直接拼接起
var Tb = {
map: "xu4zwe",
common: "jhsxen",
style: "mqdswt",
tile: "p0pati",
groundoverlay: "uvl0ac",
pointcollection: "bbmk0e",
marker: "gdlnc5",
symbol: "d3jfwv",
canvablepath: "c1rjaw",
vmlcontext: "ljdkuw",
markeranimation: "zx54lb",
poly: "lzkyjv",
draw: "r3rc2t",
drawbysvg: "td4fpf",
drawbyvml: "iva1wf",
drawbycanvas: "ggyzyw",
infowindow: "3qh3rl",
oppc: "0ex0xh",
opmb: "e5bjod",
menu: "jdidsw",
control: "bbhj1i",
navictrl: "jrasgp",
geoctrl: "pplbbd",
copyrightctrl: "gdyep0",
citylistcontrol: "o2n22l",
scommon: "pprolj",
local: "3xd2q3",
route: "r45kkc",
othersearch: "mbusah",
mapclick: "02hrhi",
buslinesearch: "svfucy",
hotspot: "to3jb0",
autocomplete: "bgtiqh",
coordtrans: "pinkk0",
coordtransutils: "4ynlvp",
convertor: "hce02e",
clayer: "qhk3rm",
pservice: "xvp1p2",
pcommon: "cmpqr2",
panorama: "fofrmo",
panoramaflash: "btooz2"
};
4.为了方便建议使用主文件
var bmapcfg = {
'imgext' : '.jpg', //瓦片图的后缀 根据需要修改,一般是 .png .jpg
'tiles_dir' : '', //普通瓦片图的地址,为空默认在tiles/ 目录
};
var scripts = document.getElementsByTagName("script");
var JS__FILE__ = scripts[scripts.length - 1].getAttribute("src"); //获得当前js文件路径
bmapcfg.home = JS__FILE__.substr(0, JS__FILE__.lastIndexOf("/")+1); //地图API主目录
(function(){
window.BMap_loadScriptTime = (new Date).getTime();
//加载地图API主文件
document.write('<script type="text/javascript" src="'+bmapcfg.home+'bmap_offline_api_v3.0_min.js"></script>');
})();
bmap_offline_api_v3.0_min.js是你下载并修改后的js文件
不要在意命名
5.引用本地资源
修改成第三点下载下来的模块
定位到 url.domain.main_domain_cdn.baidu[0]
我上面是D.url.domain.main_domain_cdn.baidu[0] 但是百度地图经常改名称,所以搜索起来比较烦
D.nd = D.url.proto + ("2" == D.Qt ? D.url.domain.main_domain_nocdn.other : D.url.domain.main_domain_nocdn.baidu) + "/";
D.oa = D.url.proto + ("2" == D.Qt ? D.url.domain.main_domain_cdn.other[0] : D.url.domain.main_domain_cdn.baidu[0]) + "/";
注释掉并加上
B.ka = bmapcfg.home; //修改,本地工具资源引用(离线路径),如图:
6.加载本地模块
然后再通过 &mod 进行定位,注释掉其所在行,做如下修改:
7.加载瓦片改为本地离线瓦片
找到高亮部分
现在可以去测试你的项目了
大概的目录就是这样
上述过程只是大概的过程,其中可能会出现一些小字母所代表的意义不一样,需要谨慎,毕竟百度地图版本更新,变量也在更新。
版本不同,不能强融