FillLayer
继承FeatureLayer类,在基础面、描边的基础上支持纹理(或者掩膜)填充。
构造函数
| 构造函数 | 描述 |
|---|---|
| BMapGL.FillLayer(options: object) | 继承FeatureLayer类,在基础面、描边的基础上支持纹理(或者掩膜)填充 |
配置选项
options属性除FeatureLayer参数以及LineLayer的style参数外,增加以下参数:
| 属性 | 类型 | 描述 |
|---|---|---|
| border | boolean | 是否显示描边,默认false |
| style | object | 线图层显示样式配置对象,详见样式配置 |
样式配置
| 属性 | 类型 | 描述 |
|---|---|---|
| fillColor | string | StyleExpress | 填充颜色 |
| fillOpacity | number | StyleExpress | 填充透明度 |
| pattern | boolean | 是否采用纹理填充形式,默认false |
| patternMask | boolean | 是否采用纹理掩膜形式,默认true,即只采用纹理图片的透明度,不使用颜色。如果是false,则会使用纹理图片的颜色 |
| patternUrl | string | 雪碧图片纹理地址,默认空 |
| patternMapping | string | StyleExpress | 雪碧图左上角位置以及宽度、高度。以图像左上角为(0,0)起点,默认是'0, 0, 32, 32',即开始位置0,0宽度高度分别为32,32的图像区域 |
| patternScale | number | StyleExpress | 图片纹理的缩放比例,默认1 |
| patternOffset | string | StyleExpress | 图片纹理的偏移距离占局部纹理宽高比,取值范围为[0,1],默认0,0 |
示例
ts
// 创建面图层
const layer = new BMapGL.FillLayer({
idKey: 'id',
crs: 'BD09LL',
border: true,
style: {
fillColor: '#ff0000',
fillOpacity: 0.5,
pattern: true,
patternMask: true,
patternUrl: 'pattern.png',
patternMapping: '0, 0, 32, 32',
patternScale: 1,
patternOffset: '0,0'
}
});
// 设置数据
layer.setData(geojsonData);
// 添加到地图
map.addLayer(layer);注意事项
填充设置:
- 合理设置填充颜色和透明度
- 注意纹理图片的尺寸要求
- 控制填充效果的性能
纹理控制:
- 纹理图片需要是雪碧图格式
- 注意纹理映射的位置设置
- 合理使用纹理掩膜
性能优化:
- 合理设置纹理缩放比例
- 注意纹理偏移量的范围
- 控制图层数量
