ArcGIS API For Javascript:新增热力图层的方法
当我们要制作一个热力图层,可以通过以下 3 步来实现:
引入类
在 require 中需引入
"esri/layers/FeatureLayer", "esri/renderers/Renderer",
在 function 中加入
FeatureLayer, Renderer,
新建热力图层
新建图层函数,包含了图层属性定义以及渲染器。
heatmFeaLayers = function(){
//热力图渲染器
var heatmapRenderer = new esri.renderer.HeatmapRenderer({
colorStops: [
{ratio: 0.45, color: "rgba(000,000,255,0)"},
{ratio: 0.55, color: "rgb(000,255,255)"},
{ratio: 0.65, color: "rgb(000,255,000)"},
{ratio: 0.95, color: "rgb(255,255,000)"},
{ratio: 1.00, color: "rgb(255,000,000)"},
],
blurRadius: 10,
maxPixelIntensity: 10,
minPixelIntensity: 1
});
var layerDefinition = {
"geometryType": "esriGeometryPoint",
"fields": [{
"num": "num",
editable: true,
nullable: true,
"type": "esriFieldTypeInteger",
"alias": "数量"
}]
};
var featureCollection = {
layerDefinition: layerDefinition,
featureSet: null
};
//创建 FeatureLayer 图层
var featureLayer = new esri.layers.FeatureLayer(featureCollection, {
mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
outFields: ["*"],
opacity: .8
});
//设置渲染方式
featureLayer.setRenderer(heatmapRenderer);
return featureLayer;
}
新建图层的时候就可以直接使用我们上面写好的函数。
heatmapfeatureLayer_1 = heatmFeaLayers(); map.addLayer(heatmapfeatureLayer_1);
将点添加至图层的图形中
将坐标制作为几何点加入图层中即可,可使用代码:
var point = new esri.geometry.Point(x, y, new esri.SpatialReference({wkid: 4326}));
heatmapfeatureLayer_1 .add(new esri.Graphic(point));
以上 3 步即可实现向地图中增加一个热力图层。

浙公网安备 33010602011771号