创建对象:
var clusterLayer = new ClusterLayer({
"view":mapManager.view,
"map":mapManager.map,
"data": photoInfo.data,
"id": clusterAnalysis.layerId,
"labelColor": "#000",
"labelOffset": 0,
"symbolArray":[symbolManager.clusterGreen,symbolManager.clusterBlue,symbolManager.clusterRed],
"graphicSym":symbolManager.clusterBlue
});
执行点聚合:
//执行聚合
clusterLayer.excuseClusterEvent();
设置地图缩放事件:
view.watch("zoom",function(){
showProgressbar("点聚合","正在努力中,请耐心等待...");
clusterAnalysis.clusterLayer.changeExtentEvent();
$('#progressBarWin').window('close');
});
设置地图点击事件:
on(mapManager.view, 'click', lang.hitch(this, function(evt) {
var screenPoint = {x: event.x,y: event.y};
view.hitTest(screenPoint).then(function (response) {
if (response.results.length) {
var graphic = response.results[0].graphic;
data = clusterLayer.onClick(graphic);
}
});
}));
将聚合图层添加到地图:
map.add(clusterLayer);
下面的ClusterLayer对象:
define([
"dojo/_base/declare",
"dojo/_base/array",
"esri/Color",
"dojo/_base/connect",
"esri/geometry/SpatialReference",
"esri/geometry/Point",
"esri/Graphic",
"esri/symbols/SimpleMarkerSymbol",
"esri/symbols/TextSymbol",
"esri/geometry/support/webMercatorUtils",
"esri/PopupTemplate",
"esri/layers/GraphicsLayer", "esri/layers/mixins/ScaleRangeLayer"
], function (
declare, arrayUtils, Color, connect,
SpatialReference, Point, Graphic, SimpleMarkerSymbol, TextSymbol,webMercatorUtils,
PopupTemplate, GraphicsLayer,ScaleRangeLayer
) {
return GraphicsLayer.createSubclass([ScaleRangeLayer],{
declaredClass : "ClusterLayer",
properties : {
view:null,//当前视图,必须
map:null,//当前地图,必须
id:"clusters",//图层id,必须
data:[],//聚类数据,必须
field : "clusterCount",//聚类的字段
distance:100,//距离
labelColor:"#FFF",//标注颜色,默认为白色
labelOffset : -4,//标注偏移,默认为-4
resolution:null,
clusters : null,
singles : null, //单个对象,点击时出现
showSingles : true,
symbolArray : null,//graphic样式数组
singleSym:null,//单个graphic样式
graphicSym:null,//要素高亮样式
singleTemplate : new PopupTemplate({ "title": "{type}", "description": "{material}" }),
spatialReference : null,//空间参考

这篇博客详细介绍了如何使用ArcGIS API for JavaScript 4.6进行点聚合分析,包括创建对象、执行点聚合、设置地图缩放和点击事件,以及将聚合图层添加到地图的操作步骤。通过ClusterLayer对象实现高效的数据可视化。
最低0.47元/天 解锁文章
1495

被折叠的 条评论
为什么被折叠?



