最近工作常常接触一些地图的显示,为了避免下次使用找不到也就做了个相对应的笔记。
前面的初始化:
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()) //调整视野 })
其他的一些下次遇到再补上。。。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!