arcgis api for js入门开发系列9热力图效果

arcgis api for js入门开发系列九热力图效果

上一篇实现了demo的聚合效果,本篇新增热力图效果,截图如下:

arcgis api for js入门开发系列9热力图效果

热力图效果实现的思路如下:

1.map.js初始化函数调用聚合效果的js接口,map.heatmap.js实现聚合核心效果的js文件

//加载热力图
DCI.heatmap.Init(map);

2.map.heatmap.js实现热力图核心思路:

调用地图FeatureServer服务,构造Featurelayer来渲染

var serviceURL = "http://localhost:6080/arcgis/rest/services/dlsde/FeatureServer/0";
var heatmapFeatureLayerOptions = {
mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
outFields: ["NAME", "KIND"]
//infoTemplate: infoTemplate
};
var heatmapFeatureLayer = new esri.layers.FeatureLayer(serviceURL, heatmapFeatureLayerOptions);
heatmapFeatureLayer.id = "heatmap";
var heatmapRenderer = new esri.renderers.HeatmapRenderer({
field: "KIND",
colors: ["rgba(0, 0, 255, 0)", "rgb(0, 0, 255)", "rgb(255, 0, 255)", "rgb(255, 0, 0)"],
blurRadius: 12,
maxPixelIntensity: 250,
minPixelIntensity: 10
});
//监听check点击事件
$("[name = heatmapFeatureLayer]:checkbox").bind("click", function () {
if ($(this).attr("checked")) {
if (DCI.heatmap.map.getLayer("heatmap")) {
DCI.heatmap.map.getLayer("heatmap").show();
} else {
heatmapFeatureLayer.setRenderer(heatmapRenderer);
DCI.heatmap.map.addLayer(heatmapFeatureLayer);
}
}
else {
if (DCI.heatmap.map.getLayer("heatmap"))
DCI.heatmap.map.getLayer("heatmap").hide();
}
})