From ec74f66d5a985ca4fd40ad673ea4a63ac672be12 Mon Sep 17 00:00:00 2001 From: rot1024 Date: Fri, 17 Dec 2021 19:35:09 +0900 Subject: [PATCH] fix: layer clusters do not updated correctly --- .../Visualizer/Engine/Cesium/Cluster.tsx | 24 +++++++------------ 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/components/molecules/Visualizer/Engine/Cesium/Cluster.tsx b/src/components/molecules/Visualizer/Engine/Cesium/Cluster.tsx index f497e5beb..c89dcdb2c 100644 --- a/src/components/molecules/Visualizer/Engine/Cesium/Cluster.tsx +++ b/src/components/molecules/Visualizer/Engine/Cesium/Cluster.tsx @@ -17,9 +17,7 @@ export type Props = { clusterImageHeight?: number; clusterImageWidth?: number; }; - layers: { - layer?: string; - }[]; + layers: { layer?: string }[]; }; pluginProperty?: { [key: string]: any }; isEditable?: boolean; @@ -60,24 +58,19 @@ const Cluster: React.FC = ({ clusterImageHeight, } = property?.default ?? {}; - const cluster = useMemo(() => { + const cluster = useMemo(() => { return new EntityCluster({ enabled: true, - pixelRange: 15, - minimumClusterSize: 3, + pixelRange: clusterPixelRange, + minimumClusterSize: clusterMinSize, clusterBillboards: true, clusterLabels: true, clusterPoints: true, }); - }, []); + }, [clusterMinSize, clusterPixelRange]); useEffect(() => { - cluster.pixelRange = clusterMinSize; - cluster.minimumClusterSize = clusterPixelRange; - }, [cluster, clusterMinSize, clusterPixelRange]); - - useEffect(() => { - return cluster.clusterEvent.addEventListener((_clusteredEntities, clusterParam) => { + return cluster?.clusterEvent.addEventListener((_clusteredEntities, clusterParam) => { clusterParam.label.font = toCSSFont(clusterLabelTypography, { fontSize: 30 }); clusterParam.label.horizontalOrigin = clusterLabelTypography.textAlign === "right" @@ -95,12 +88,13 @@ const Cluster: React.FC = ({ clusterParam.billboard.width = clusterImageHeight; }); }, [ + clusterMinSize, + clusterPixelRange, cluster, + clusterLabelTypography, clusterImage, clusterImageHeight, clusterImageWidth, - clusterLabelTypography, - property, ]); return cluster ? (