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

Method createHeatLayer

src/openlayers/mapping/WebMap.js:3426–3449  ·  view source on GitHub ↗

* @private * @function WebMap.prototype.createHeatLayer * @description 创建热力图图层 * @param {Object} layerInfo - 图层信息 * @param {Array} features -feature的集合 * @returns {ol.layer.Heatmap} 热力图图层

(layerInfo, features)

Source from the content-addressed store, hash-verified

3424 * @returns {ol.layer.Heatmap} 热力图图层
3425 */
3426 createHeatLayer(layerInfo, features) {
3427 //因为热力图,随着过滤,需要重新计算权重
3428 features = layerInfo.filterCondition ? this.getFiterFeatures(layerInfo.filterCondition, features) : features;
3429 let source = new Vector({
3430 features: features,
3431 wrapX: false
3432 });
3433 let layerOptions = {
3434 source: source
3435 };
3436 let themeSetting = layerInfo.themeSetting;
3437 layerOptions.gradient = themeSetting.colors.slice();
3438 layerOptions.radius = parseInt(themeSetting.radius);
3439 //自定义颜色
3440 let customSettings = themeSetting.customSettings;
3441 for (let i in customSettings) {
3442 layerOptions.gradient[i] = customSettings[i];
3443 }
3444 // 权重字段恢复
3445 if (themeSetting.weight) {
3446 this.changeWeight(features, themeSetting.weight);
3447 }
3448 return new olLayer.Heatmap(layerOptions);
3449 }
3450
3451 /**
3452 * @private

Callers 2

addLayerMethod · 0.95
WebMap.jsFile · 0.80

Calls 2

getFiterFeaturesMethod · 0.95
changeWeightMethod · 0.95

Tested by

no test coverage detected