MCPcopy Create free account
hub / github.com/SuperMap/iClient-JavaScript / createUniqueLayer

Method createUniqueLayer

src/openlayers/mapping/WebMap.js:3508–3528  ·  view source on GitHub ↗

* @private * @function WebMap.prototype.createUniqueLayer * @description 获取当前字段对应的最大值,用于计算权重 * @param {Object} layerInfo - 图层信息 * @param {Array} features - 所有feature结合

(layerInfo, features)

Source from the content-addressed store, hash-verified

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

Callers 2

addLayerMethod · 0.95
WebMap.jsFile · 0.80

Calls 5

createUniqueSourceMethod · 0.95
getFiterFeaturesMethod · 0.95
setStyleMethod · 0.45
getMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected