* @private * @function WebMap.prototype.createUniqueLayer * @description 获取当前字段对应的最大值,用于计算权重 * @param {Object} layerInfo - 图层信息 * @param {Array} features - 所有feature结合
(layerInfo, features)
| 3506 | * @param {Array} features - 所有feature结合 |
| 3507 | */ |
| 3508 | async createUniqueLayer(layerInfo, features) { |
| 3509 | let styleSource = await this.createUniqueSource(layerInfo, features); |
| 3510 | let layer = new olLayer.Vector({ |
| 3511 | styleSource: styleSource, |
| 3512 | source: new Vector({ |
| 3513 | features: layerInfo.filterCondition ? this.getFiterFeatures(layerInfo.filterCondition, features) : features, |
| 3514 | wrapX: false |
| 3515 | }) |
| 3516 | }); |
| 3517 | layer.setStyle((feature) => { |
| 3518 | let styleSource = layer.get('styleSource'); |
| 3519 | let labelField = styleSource.themeField; |
| 3520 | let label = feature.get('attributes')[labelField]; |
| 3521 | let styleGroup = styleSource.styleGroups.find((item) => { |
| 3522 | return item.value === label; |
| 3523 | }); |
| 3524 | return styleGroup.olStyle; |
| 3525 | }); |
| 3526 | |
| 3527 | return layer; |
| 3528 | } |
| 3529 | |
| 3530 | /** |
| 3531 | * @private |
no test coverage detected