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;
| });
|
|