最近在弄聚合圖,很多demo都是arcgis 3的,網上github 倒是有flareCluster 但是不好用,挪動一下會實時渲染。我把esri-cluster-layer 的arcgis 3的版本強行升級到4,基本實現了效果。
設計思路
1. 原來的clusterlayer 是用graphiclayer 實現的,因為arcgis 4沒有renderer 我們來用featurelayer 來實現,featurelayer 不走服務,走動態source 添加
2.通過設置classBreakRender 使不同范圍的點cluster起來
3. 有兩種feauterlayer, 一種是作為渲染cluster用的,當view.scale 小於某個比例尺時候不要用renderer了,直接調用featurelayer source 屬性動態添加,當然renderer也是動態添加
4. 數量文本不使用 TextSymbol 了,直接使用featurelayer的labelClass屬性
5. 監聽view 的zoom 事件 ,每次實時刷featurelayer,我是remove featurelayer再次添加,貌似操作source里面數據沒有用
縮放后:
當小於某個比例尺的時候: