1
13693261870
2022-09-16 762f2fb45db004618ba099aa3c0bd89dba1eb843
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/**
 * 功能描述:热力图
 * 开发公司:广东蓝图
 * 开发人员:蔡工
 * 开发时间:2019-07-25 ~ 2019-09
 */
 
define([
    "dojo/_base/declare",
    "esri/layers/FeatureLayer",
    "esri/renderers/HeatmapRenderer"
], function(declare, FeatureLayer, HeatmapRenderer) {
    var clazz;
    clazz = declare("Heatmap", null, {
        constructor: function () {
        },
        show: function(layerObject, checked) {
            if (layerObject == null) {
                alert("获取图层对象为空值!");
                return;
            }
            if (checked) {
                //勾选
                var layer = map.getLayer(layerObject.layerId);
                if (layer) {
                    //图层存在则显示
                    layer.setVisibility(true);
                }
                else {
                    //图层不存在则添加
                    this.addLayer(layerObject);
                }
            }
            else {
                //取消
                var layer = map.getLayer(layerObject.layerId);
                if (layer) {
                    map.removeLayer(layer);
                }
            }
        },
        addLayer: function(layerObject) {
            var layerId = layerObject.layerId;
            var layerUrl = layerObject.layerUrl;
            var featureLayer = new FeatureLayer(layerUrl, {
                id : layerId,
                visible : true,
                model: FeatureLayer.MODE_SNAPSHOT
            });
            //定义热力图
            // var heatmapRenderer = new HeatmapRenderer({
            //     colors: ["rgba(75, 164, 246, 0)","rgb(18, 148, 209)","rgb(238, 230, 66)", "rgb(225, 92, 60)"],
            //     blurRadius: 9,
            //     maxPixelIntensity: 20,
            //     minPixelIntensity: 0
            // });
            var heatmapRenderer = new HeatmapRenderer({
                colors: ["rgba(255, 0, 0, 0)", "#66ccff", "#0099CC", "#ffff99", "#ffff00", "#ffcc99", "#ff9900", "#ff6633", "#ff6600", "#ff4731"],
                blurRadius: 5,
                maxPixelIntensity: 50,
                minPixelIntensity: 0
            });
            featureLayer.setRenderer(heatmapRenderer);
            map.addLayer(featureLayer);
        }
    });
    clazz.getInstance = function() {
        if (instance === null) {
            instance = new clazz();
        }
        return instance;
    };
    return clazz;
});