首页 畅享游戏,快乐生活!
手机版
扫描查看手机站

百度地图3d实景地图(百度地图3d实景地图在线观看)

时间:2023-10-26 13:12:17 编辑:

本篇文章给大家谈谈百度地图3d实景地图,以及百度地图3d实景地图在线观看对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

首先,百度地图JavaScriptAPI3.0版本与2.0版本相比增加了几个小功能,整体没有大的改动,具体可以在官网上查阅。于是就照着先前大佬们分享的2.0离线版本进行3.0版本的制作,附上大佬链接:最新百度地图APIV2.0离线版本感谢大佬的分享。下面开始百度地图离线版V3.0的制作:

资源下载地址:https://download.csdn.net/download/wml00000/10692583

百度云链接:https://pan.baidu.com/s/1IM-pcrhbXi--O964L7RJBg密码:v5dv

1.JSAPI文件下载访问这个地址http://api.map.baidu.com/api?v=3.0,这个是引入在线js文件时的地址,打开之后是一段代码,在代码中找到src="http://api.map.baidu.com/getscript?v=3.0&ak=&services=&t=20180823175819",打开这个地址,就可以看到压缩后的js代码,把这些代码粘下来,保存到本地上,就先保存在bmap_offline_api_v3.0_min.js文件里。在粘代码之前可以先格式化一下,以便下面查看与修改,利用谷歌浏览器自带的prettyprint(就是下面那个红圈里的大括号工具)就可以,将格式化好的代码粘下来保存。

2.修改保存到本地的js文件2.1屏蔽ak验证

functionoa(a,b){

if(/^http/.test(a))return;//修改屏蔽ak验证,若调用外部资源直接返回

if(b){

varc=(1E5*Math.random()).toFixed(0);

B._rd["_cbk"+c]=function(a){

b&&b(a);

deleteB._rd["_cbk"+c]

}

;

a+="&callback=BMap._rd._cbk"+c

}

vare=L("script",{

type:"text/javascript"

});

e.charset="utf-8";

e.src=a;

e.addEventListener?e.addEventListener("load",function(a){

a=a.target;

a.parentNode.removeChild(a)

},t):e.attachEvent&&e.attachEvent("onreadystatechange",function(){

vara=window.event.srcElement;

a&&("loaded"==a.readyState||"complete"==a.readyState)&&a.parentNode.removeChild(a)

});

setTimeout(function(){

document.getElementsByTagName("head")[0].appendChild(e);

e=s

},1)

}

定位到上面代码,将带注释那行加上,千万别定位错了。

2.2引用本地工具资源百度地图提供的各种图层类,标记类,控件类等等都可以看作是modules,当你在地图中用到这些模块时,它会自动加载,因此我们需要先把这些模块的js文件下载下来,保存到本地。定位到下面代码,没数错的话,一共是44个模块。

varUb={//修改,这里是所有的模块,用到时自动加载(在线),离线的话要先下载下来放到本地,如n//http://api0.map.bdimg.com/getmodules?v=3.0&mod=模块1,模块2n//模块命名格式是map_dbwcej,直接拼接起来nmap:"dbwcej",ncommon:"wkrfcz",nstyle:"fkofpc",ntile:"ok3b3m",nvectordrawlib:"4pdipq",nnewvectordrawlib:"wbnuee",ngroundoverlay:"ekozhc",npointcollection:"feabuc",nmarker:"00uyqy",nsymbol:"cq3a5n",ncanvablepath:"dia5aw",nvmlcontext:"phwtog",nmarkeranimation:"rfnmxu",npoly:"r52vuo",ndraw:"jb4osz",ndrawbysvg:"vxyn51",ndrawbyvml:"whxmqq",ndrawbycanvas:"ufwkvb",ninfowindow:"wtflsn",noppc:"10riq5",nopmb:"2c1ejz",nmenu:"152mop",ncontrol:"hlzh1t",nnavictrl:"h32mnb",ngeoctrl:"xprajs",ncopyrightctrl:"gmc2ps",ncitylistcontrol:"ms3ahy",nscommon:"oadc3d",nlocal:"k0pcpi",nroute:"v4yyam",nothersearch:"pwg4ey",nmapclick:"e40viw",nbuslinesearch:"vxmb31",nhotspot:"vuwxs4",nautocomplete:"punr3o",ncoordtrans:"lmf5kv",ncoordtransutils:"d33qf1",nconvertor:"d0ze2w",nclayer:"0hwrfx",npservice:"j5tlrp",npcommon:"yqek4k",npanorama:"jbqj24",npanoramaflash:"dm4xq2",nvector:"2hrruc"n};

为了便于修改主文件里的一些内容,先创建一个map_load.js文件,加入下面代码:

varbmapcfg={n'imgext':'.jpg',//瓦片图的后缀根据需要修改,一般是.png.jpgn'tiles_dir':'',//普通瓦片图的地址,为空默认在tiles/目录n};nnvarscripts=document.getElementsByTagName("script");nvarJS__FILE__=scripts[scripts.length-1].getAttribute("src");//获得当前js文件路径nbmapcfg.home=JS__FILE__.substr(0,JS__FILE__.lastIndexOf("/")+1);//地图API主目录n(function(){nwindow.BMap_loadScriptTime=(newDate).getTime();n//加载地图API主文件ndocument.write('<scripttype="text/javascript"src="'+bmapcfg.home+'bmap_offline_api_v3.0_min.js"></script>');n})();

在bmap_offline_api_v3.0_min.js文件中定位到B.url.domain.main_domain_cdn.baidu[0],将其所在行注释掉,加上这行

B.ka=bmapcfg.home;//修改,本地工具资源引用(离线路径),如图:

然后再通过&mod进行定位,注释掉其所在行,做如下修改:

f.Rd.Hn.length=0;n//0==a.length?f.kL():oa(f.wG.tQ+"&mod="+a.join(","))n//修改加载本地模块文件,在modules目录下nconsole.log(a);//打印所需模块nif(a.length>0){nfor(i=0;i<a.length;i++){nmf=bmapcfg.home+'modules/'+a[i]+'.js';noa(mf);nconsole.log('加载模块文件:'+mf);//IEerrorn}n}else{nf.kL()n}n//就到这n},1));

这时候就可以创建modules文件夹,添加所需模块的js文件,注意命名格式,js代码可以这么获取:http://api0.map.bdimg.com/getmodules?v=3.0&mod=map_dbwcej

保存js文件时文件名也是这样如map_dbwcej.js

2.3加载瓦片改为本地离线瓦片定位到如下代码,做相应修改:

md.getTilesUrl=function(a,b,c){nvare=a.xn,a=a.yn,f=Sb("normal")n,g=1n,c=ld[c];n//this.map.Sx()&&(g=2);//修改n//e=this.map.Va.Lw(e,b).hs;n//return(kd[Math.abs(e+a)%kd.length]+"?qt=tile&x="+(e+"").replace(/-/gi,"M")+"&y="+(a+"").replace(/-/gi,"M")+"&z="+b+"&styles="+c+"&scaler="+g+(6==z.ca.ia?"&color_dep=32&colors=50":"")+"&udt="+f).replace(/-(\d+)/gi,"M$1")ntdir=bmapcfg.tiles_dir.length>0?bmapcfg.tiles_dir:bmapcfg.home+"tiles";nreturntdir+"/"+b+"/"+e+"/"+a+bmapcfg.imgext;//使用本地的瓦片n}3.Demo测试

建一个demo.html

<!DOCTYPEhtml>n<html>n<head>n<metaname="viewport"content="initial-scale=1.0,user-scalable=no"/>n<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>n<title>Hello,World</title>n<styletype="text/css">nhtml{height:100%}nbody{height:100%;margin:0px;padding:0px}n#container{height:100%}n</style>nn<scripttype="text/javascript"src="map_load.js"></script>nn</head>nn<body>n<divid="container"></div>n<scripttype="text/javascript">nnvarmap=newBMap.Map("container")nvarpoint=newBMap.Point(116.404,39.915);//创建点坐标nmap.centerAndZoom(point,6);//初始化地图,设置中心点坐标和地图级别n</script>n</body>n</html>

运行前一定要准备好相关文件,如modules文件夹里的js文件,tiles文件夹里的切片,还有一些图标文件,文件大概如下:

关于本次百度地图3d实景地图和百度地图3d实景地图在线观看的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

热门文章

推荐专题

更多>>

游戏推荐

更多>>