From 95b3d3a0d86b167305a45ab8082a8c9cf778fecb Mon Sep 17 00:00:00 2001 From: keiya sasaki Date: Tue, 14 Mar 2023 15:53:46 +0900 Subject: [PATCH] fix: fly to multiple entities added by a layer on reearth/core (#540) feat: support flyTo layer --- src/core/engines/Cesium/useEngineRef.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/core/engines/Cesium/useEngineRef.ts b/src/core/engines/Cesium/useEngineRef.ts index 51ff65963e..feebb78fe5 100644 --- a/src/core/engines/Cesium/useEngineRef.ts +++ b/src/core/engines/Cesium/useEngineRef.ts @@ -109,6 +109,17 @@ export default function useEngineRef( } } + const targets: Cesium.Entity[] = []; + for (const entity of viewer.entities.values) { + if (getTag(entity)?.layerId === layerOrFeatureId) { + targets.push(entity); + } + } + if (targets.length) { + viewer.flyTo(targets, options); + return; + } + const entityFromLayerId = findEntity(viewer, layerOrFeatureId); if (entityFromLayerId && !(entityFromLayerId instanceof Cesium.Cesium3DTileFeature)) { viewer.flyTo(entityFromLayerId, options);