Resium — добавление нового объекта в Viewer/Scene приводит к повторному рендерингу всей сцены.
Я хочу динамически добавлять/удалять объекты из сцены, но это приводит к повторному рендерингу всей сцены.
На чистом цезии вызов viewer.entities.add не дает такого же эффекта. Можно ли добиться этого и с помощью Resium?
В условном примере ниже я добавил кнопку, которая переключает сущность, содержащую точечную графику, на идентичную. При нажатии на кнопку вся сцена перезагружается:
export default function Test() {
const [swapped, setSwapped] = React.useState(false);
return (
<>
<div
onClick={() => {
setSwapped(!swapped);
}}
style={{ position: "absolute", top: 25, left: 25, zIndex: 2 }}
>
swap pins
</div>
<Resium.Viewer
full
style={{
zIndex: 1,
}}
>
<Resium.Scene debugShowFramesPerSecond={true}>
{swapped ? (
<Resium.Entity
point={{ pixelSize: 10 }}
position={Cartesian3.fromDegrees(
longitude,
latitude,
altitude
)} />
) : (
<Resium.Entity
point={{ pixelSize: 10 }}
position={Cartesian3.fromDegrees(
longitude,
latitude,
altitude
)} />
)}
</Resium.Scene>
</Resium.Viewer>
</>
}