关于百度地图的一些使用(一)

832 阅读1分钟

最近工作常常接触一些地图的显示,为了避免下次使用找不到也就做了个相对应的笔记。

前面的初始化:

 var map = new BMap.Map('container', { enableMapClick: false }) //禁止点击图标 window.map = map //将map变量储存在全局 this.point = new BMap.Point(        this.mapPoint.longitude,        this.mapPoint.latitude      )//中心点 map.centerAndZoom(this.point, this.zoom) map.enableScrollWheelZoom(true)
// map.setMapType(BMAP_SATELLITE_MAP) map.setMapType(BMAP_HYBRID_MAP)

一、 画出一个城市的地图,举例广州

let bdary = new BMap.Boundary()      bdary.get('广东省', function (rs) {        //获取行政区域        //1.获取选中行政区划边框点的集合rs.boundaries[0]        let list = rs.boundaries        let max = list[0]        for (let i = 1; i < list.length; i++) {          if (list[i].length > max.length) {            max = list[i]          }        }        let arr = max.split(';')        let str = ''        for (var i = 0; i < arr.length; i++) {          str += arr[i] + ';'        }        //2.自定义外围边框点的集合        var E_JW = '170.672126, 39.623555;' //东        var EN_JW = '170.672126, 81.291804;' //东北角        var N_JW = '105.913641, 81.291804;' //北        var NW_JW = '-169.604276,  81.291804;' //西北角        var W_JW = '-169.604276, 38.244136;' //西        var WS_JW = '-169.604276, -68.045308;' //西南角        var S_JW = '114.15563, -68.045308;' //南        var SE_JW = '170.672126, -68.045308 ;' //东南角        //3.添加环形遮罩层        var ply1 = new BMap.Polygon(          str +            E_JW +            SE_JW +            S_JW +            WS_JW +            W_JW +            NW_JW +            N_JW +            EN_JW +            E_JW,          {            strokeColor: 'none',            strokeOpacity: 0.2,            fillColor: '#163336',            fillOpacity: '0.6',          }        ) //建立多边形覆盖物        map.addOverlay(ply1) //遮罩物是半透明的,如果需要纯色可以多添加几层
})

效果图如下:

周边可以加层边框 完整程序如下

      let bdary = new BMap.Boundary()      bdary.get('广东省', function (rs) {        //获取行政区域        //1.获取选中行政区划边框点的集合rs.boundaries[0]        let list = rs.boundaries        let max = list[0]        for (let i = 1; i < list.length; i++) {          if (list[i].length > max.length) {            max = list[i]          }        }        let arr = max.split(';')        let str = ''        for (var i = 0; i < arr.length; i++) {          str += arr[i] + ';'        }        //2.自定义外围边框点的集合        var E_JW = '170.672126, 39.623555;' //东        var EN_JW = '170.672126, 81.291804;' //东北角        var N_JW = '105.913641, 81.291804;' //北        var NW_JW = '-169.604276,  81.291804;' //西北角        var W_JW = '-169.604276, 38.244136;' //西        var WS_JW = '-169.604276, -68.045308;' //西南角        var S_JW = '114.15563, -68.045308;' //南        var SE_JW = '170.672126, -68.045308 ;' //东南角        //3.添加环形遮罩层        var ply1 = new BMap.Polygon(          str +            E_JW +            SE_JW +            S_JW +            WS_JW +            W_JW +            NW_JW +            N_JW +            EN_JW +            E_JW,          {            strokeColor: 'none',            strokeOpacity: 0.2,            fillColor: '#163336',            fillOpacity: '0.6',          }        ) //建立多边形覆盖物        map.addOverlay(ply1) //遮罩物是半透明的,如果需要纯色可以多添加几层        let ply = new BMap.Polygon(max, {          strokeWeight: 2,          strokeColor: '#00fdbb',          fillColor: '',        })        map.addOverlay(ply)        //map.setViewport(ply.getPath()) //调整视野      })    

其他的一些下次遇到再补上。。。