ArcGIS JS API :新增一个热力图层的方法

当我们要制作一个热力图层,可以通过以下 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 步即可实现向地图中增加一个热力图层。

猜你喜欢

转载自www.cnblogs.com/dawud/p/10365520.html
今日推荐