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>
    </>
}

0 ответов

Другие вопросы по тегам