動態叢集
專門支援資料與渲染器的動態更新,調用 new mapPlus.DynamicCluster(options),開始使用動態叢集圖。

特色
DynamicCluster 是一個專為動態更新資料與渲染器而設計的 API。
其核心邏輯以每個渲染器對應的唯一識別符 key 作為更新的基準點,從而精準檢測新舊資料的差異,並僅對變更部分進行處理,而非重新渲染所有資料,以提升叢集圖的性能。
開始使用
調用 new mapPlus.DynamicCluster(options),開始使用地圖動態叢集。
- options
(object): 必填,動態叢集的參數。
| Name | Description |
|---|---|
options.data object[] | 選填,動態叢集的資料,可搭配 options.markerRenderer 進行使用。 |
options.markerRenderer function | 選填,渲染地標的回調函式,回調函式中需回傳 地標參數 與不重複 key 值。未填則使用 options.data 中的資料。` |
options.styles object | 選填,叢集圖的樣式。 |
options.onClusterClick function | 選填,點選叢集圖執行的回調函式,預設為畫面移至該座標叢集區域。 |
options.onMarkerClick function | 選填,點選地標執行的回調函式。 |
options.clusterMaxZoom number | 選填,集群圖層會停止集群化的最大縮放級別,預設為 14。 |
options.clusterMinPoints number | 選填,形成一個集群所需的最小點數,預設為 2。 |
options.clusterRadius number | 選填,集群半徑,以像素為單位,預設為 50。 |
Examples
地標渲染器
可使用 DynamicCluster(options) 的 options.data 與 options.markerRenderer 來設定地標的渲染。
markerRenderer
options.markerRenderer(callback)
markerRenderer 接受一個 callback 回調函式,該回調函式需返回包含 地標參數 以及唯一的 key 值的物件。
callback(data, index) 參數說明:
- data
(any): 為options.data中的資料。 - index
(number): 資料的索引。
Examples
叢集圖樣式
可使用 DynamicCluster(options) 的 options.styles 來設定叢集圖的樣式。
叢集圖點選事件
可使用 DynamicCluster(options) 的 options.onClusterClick ,設定點選叢集圖執行的回調函式,預設為畫面移至該座標叢集區域。
Examples
地標點選事件
可使用 DynamicCluster(options) 的 options.onMarkerClick ,設定點選地標執行的回調函式。
Examples
實例方法
- setData: 設定資料,並更新動態叢集。
- setMarkerRenderer: 設定地標渲染器,並更新動態叢集。
- setOnClusterClick: 設定叢集圖點選事件。
- setOnMarkerClick: 設定地標點選事件。
- remove: 移除動態叢集。
setData
setData(data)
設定資料,並更新動態叢集。
Examples
setMarkerRenderer
setMarkerRenderer(renderer)
設定地標渲染器,並更新動態叢集。
Examples
setOnClusterClick
setOnClusterClick(clusterClickHandler)
設定叢集圖點選事件。
Examples
setOnMarkerClick
setOnMarkerClick(markerClickHandler)
設定地標點選事件。
Examples
remove
remove()
移除動態叢集。
Examples
