Arcgis api for JavaScript 4.6 点聚合分析

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

创建对象:

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,//空间参考
	      
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值