FeatureLayer
此类是要素图层基类,继承自NormalLayer,支持要素数据的显示和交互。
构造函数
| 构造函数 | 描述 |
|---|---|
| BMapGL.FeatureLayer(options: object) | 创建要素图层实例 |
配置选项
| 属性 | 类型 | 描述 |
|---|---|---|
| idKey | string | 数据项属性key |
| crs | string | 来源坐标系,默认BD09LL,其他BD09MC、GCJ02 |
| selectedIndex | number | 选中数据索引,默认-1 |
| selectedColor | string | 选中数据颜色,默认'rgba(20, 20, 200, 1.0)' |
实例方法
| 方法 | 参数 | 返回值 | 描述 |
|---|---|---|---|
| setData | GeoJSON | void | 设置数据源为GeoJSON数据对象 |
| getData | none | geojson | 获取数据源 |
| updateState | ( keys:Array<string>, params:Object, isAppend:boolean ) | void | 根据的id,设置对象状态 |
| removeState | keys:Array | void | 根据的id,移除对象状态 |
| clearState | none | void | 清空对象状态 |
| addDelIndex | index: number | void | 添加不显示数据索引 |
| removeDelIndex | index: number | void | 移除不显示数据索引 |
| clearDelIndex | none | void | 清空不显示数据索引 |
示例
ts
// 创建要素图层
const layer = new BMapGL.FeatureLayer({
idKey: 'id',
crs: 'BD09LL',
selectedIndex: -1,
selectedColor: '#dec41b'
});
// 设置数据
const data = {
// 要素数据
};
layer.setData(data);
map.addLayer(layer);注意事项
数据格式:
- 确保数据格式正确
- 注意坐标系统的设置
- 检查唯一标识字段的存在
状态管理:
- 合理使用状态更新方法
- 注意状态清除的时机
- 管理好删除索引
性能优化:
- 大量数据时考虑分批处理
- 合理使用状态缓存
- 注意内存占用
