DistrictLayer
构造函数
创建行政区图层
参数 类型 说明 options可选DistrictLayerOptions配置选项,name 为行政区名称 属性 类型 说明 adcodestring行政区id编码,多个用逗号分隔表示合并为一个大区。优先级高于 name autoViewportboolean是否自动调整视野以适应行政区边界范围 fillColorstring填充颜色 fillOpacitynumber填充透明度,取值范围0 - 1 kindnumber行政区划展示层级。0为当前层级(如传入省名则展示省轮廓),1为下钻一个层级(展示省内各市边界),2为下钻两个层级(展示各区县边界) namestring行政区名称,多个名称用逗号分隔表示合并为一个大区,如 '北京,天津,河北' 会将这些行政区边界合并展示。 需要注意:多区合并仅在kind=0时有效,下钻模式只能传入一个名称,下不支持多区合并。 strokeColorstring边框颜色 strokeOpacitynumber边框透明度,取值范围0 - 1 strokeWeightnumber边框宽度,单位像素 返回值 DistrictLayer
示例代码1:基础用法 - 展示单个行政区
const districtLayer = new BMap.DistrictLayer({
name: '北京',
strokeColor: '#0055ff',
fillColor: '#0055ff',
fillOpacity: 0.3,
});
map.addLayer(districtLayer);示例代码2:多行政区合并为大区
const districtLayer = new BMap.DistrictLayer({
name: '北京,天津,河北',
strokeColor: '#daeafa',
fillColor: '#5e8bff',
fillOpacity: 0.8,
});
map.addLayer(districtLayer);示例代码3:下钻展示 - kind:1 展示省内各市边界
const districtLayer = new BMap.DistrictLayer({
name: '山东省',
kind: 1,
strokeColor: '#daeafa',
fillColor: '#618bf8',
fillOpacity: 0.6,
autoViewport: true,
});
map.addLayer(districtLayer);示例代码4:自动适配视野 + 鼠标交互高亮
const districtLayer = new BMap.DistrictLayer({
name: '广东省',
kind: 2,
strokeColor: '#fff',
strokeWeight: 2,
fillColor: '#5e8bff',
fillOpacity: 0.5,
autoViewport: true,
});
map.addLayer(districtLayer);
districtLayer.addEventListener('mouseover', (e) => {
e.currentTarget.setFillColor('#9169db');
});
districtLayer.addEventListener('mouseout', (e) => {
e.currentTarget.setFillColor('#5e8bff');
});示例代码5:使用adcode指定行政区(优先级高于name)
const districtLayer = new BMap.DistrictLayer({
adcode: '110000,120000',
fillColor: '#5e8bff',
fillOpacity: 0.6,
});
map.addLayer(districtLayer);
方法
添加事件监听
参数 类型 说明 eventstring事件类型 handlerFunction回调函数 返回值 void
示例代码1
districtLayer.addEventListener('click', (e) => {
console.log('行政区点击', e);
});
隐藏图层
返回值 void
示例代码1
districtLayer.hide();
返回图层是否可见
返回值 boolean
移除事件监听
参数 类型 说明 eventstring事件类型 handlerFunction回调函数 返回值 void
示例代码1
const handler = (e: any) => { console.log(e); };
districtLayer.addEventListener('click', handler);
districtLayer.removeEventListener('click', handler);
设置图层层级
参数 类型 说明 zIndexnumber层级值 返回值 void
示例代码1
districtLayer.setZIndex(5);
显示图层
返回值 void
示例代码1
districtLayer.show();
行政区图层类,用于在地图上展示行政区划数据。 通过 map.addLayer() / map.removeLayer() 方法管理。