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

Method createRankSymbolLayer

src/openlayers/mapping/WebMap.js:4230–4252  ·  view source on GitHub ↗

* @private * @function WebMap.prototype.createRankSymbolLayer * @description 创建等级符号图层 * @param {Object} layerInfo - 图层信息 * @param {Array} features - 添加到图层上的features * @returns {ol.layer.Vector} 矢量图层

(layerInfo, features)

Source from the content-addressed store, hash-verified

4228 * @returns {ol.layer.Vector} 矢量图层
4229 */
4230 async createRankSymbolLayer(layerInfo, features) {
4231 let styleSource = await this.createRankStyleSource(layerInfo, features, layerInfo.featureType);
4232 let layer = new olLayer.Vector({
4233 styleSource,
4234 source: new Vector({
4235 features: layerInfo.filterCondition ? this.getFiterFeatures(layerInfo.filterCondition, features) : features,
4236 wrapX: false
4237 }),
4238 renderMode: 'image'
4239 });
4240 layer.setStyle((feature) => {
4241 let styleSource = layer.get('styleSource');
4242 let themeField = styleSource.parameters.themeSetting.themeField;
4243 let value = Number(feature.get('attributes')[themeField]);
4244 let styleGroups = styleSource.styleGroups;
4245 for (let i = 0, len = styleGroups.length; i < len; i++) {
4246 if (value >= styleGroups[i].start && value < styleGroups[i].end) {
4247 return styleSource.styleGroups[i].olStyle;
4248 }
4249 }
4250 });
4251 return layer;
4252 }
4253 /**
4254 * @private
4255 * @function WebMap.prototype.createRankSymbolLayer

Callers 1

addLayerMethod · 0.95

Calls 4

createRankStyleSourceMethod · 0.95
getFiterFeaturesMethod · 0.95
setStyleMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected