百度地图JS API
2021-04-29 05:32
阅读:612
标签:进入 功能 query dep enter context 引入 styles turn 1、百度地图api的使用 1)申请百度账号和ak 2)引用百度地图API文件
3)获取当前位置的经纬度
//获取当前位置的经纬度 getCurrentPosition:function(context,params){ //navigator.geolocation部分手机有权限问题 Vue.prototype.$common.showLoading(‘正在获取当前位置‘); //使用百度地图api获取当前位置每次进入服务号都需要授权 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ if(this.getStatus() == BMAP_STATUS_SUCCESS){ Vue.prototype.$common.hideLoading(); var pos={ longitude:r.point.lng+‘‘, latitude:r.point.lat+‘‘ } context.commit(‘setCurrentPosition‘,pos); if(params.callback){ params.callback(); } }else { Vue.prototype.$common.hideLoading(); weui.alert(‘获取当前位置失败‘); } },{enableHighAccuracy: true}); }
4)展示地图
百度地图API中的大部分对象都含有addEventListener方法,您可以通过该方法来监听对象事件。
mounted:function(){ var self=this; this.$common.httpPost(‘userRegisterPre.do‘,{},function(response){ self.user=response.User; //deptseq store.dispatch(‘getCurrentPosition‘,{callback:setMap}); function setMap(){ var map = new BMap.Map("map"); var currentPosition=store.state.glob.currentPosition; var point = new BMap.Point(currentPosition.longitude, currentPosition.latitude); map.centerAndZoom(point, 12); var me = new BMap.Icon("images/current-pos.png", new BMap.Size(32,32)); var meMarker = new BMap.Marker(point,{icon:me});//创建标注 map.addOverlay(meMarker); var DeptList=store.state.glob.deptList,pointArray=[]; for(var i=0;i){ var item=DeptList[i]; if(item.deptseq==response.User.deptseq){ self.dept=item; } var deptPoint=new BMap.Point(item.Longitude, item.Latitude); var marker = new BMap.Marker(deptPoint);//创建点 map.addOverlay(marker);//增加点 pointArray.push(deptPoint); marker.addEventListener("click",(function(i){ return function(){ self.dept=DeptList[i]; self.showedMap=false; } })(i)); //通过闭包为多个点注册点击事件 var label = new BMap.Label(item.Deptname,{offset:new BMap.Size(20,-10)}); marker.setLabel(label); self.showedMap=false; } } }); },
5)地图带检索功能的信息窗口
引入js和css:
setDeptList:function(){ var self=this; this.$common.httpPost(‘queryBankDeptList.do‘,{},function(response){ var DeptList=response.DeptList; self.deptList=DeptList; for(var i=0;i){ var item=DeptList[i]; var deptPoint=new BMap.Point(item.Longitude, item.Latitude); var marker = new BMap.Marker(deptPoint);//创建点 self.map.addOverlay(marker);//增加点 var label = new BMap.Label(item.Deptname,{offset:new BMap.Size(20,-10)}); marker.setLabel(label); DeptList[i].marker=marker; var content=‘ 地址:‘+item.addr+‘
‘; content+=‘客户经理:‘+item.contactname+‘
‘; var telStr=‘‘+item.phone+‘‘; content+=‘联系方式:‘+telStr+‘
‘; DeptList[i].searchInfoWindow = new BMapLib.SearchInfoWindow(self.map, content, { title : item.Deptname+‘社区支行‘, //标题 width : 290, //宽度 height : 80, //高度 panel : "panel", //检索结果面板 enableAutoPan : true, //自动平移 searchTypes :[ //BMAPLIB_TAB_SEARCH, //周边检索 //BMAPLIB_TAB_TO_HERE, //到这里去 //BMAPLIB_TAB_FROM_HERE //从这里出发 ] }); marker.addEventListener("click",(function(i){ return function(){ DeptList[i].searchInfoWindow.open(DeptList[i].marker); } })(i)); } }); },
百度地图JS API
标签:进入 功能 query dep enter context 引入 styles turn
原文地址:http://www.cnblogs.com/colorful-coco/p/7825327.html
评论
亲,登录后才可以留言!