Cesium.Viewer가 중심이되는 좌표를 설정하는 방법은 무엇입니까?


10

공식 CesiumJS 튜토리얼 에는 HelloWorld맵 뷰어를 보여주는 샘플 애플리케이션이 있습니다.

사용자가 페이지를 열면 지구본이 특정 지점 위에 있고 특정 확대 / 축소로 중앙에 위치하기를 원합니다.

스크린 샷

어떻게하면 되나요?

Cesium.Viewer생성자 매개 변수 (아래와 같이 timeline) 를 통해 구성 할 수 있다고 가정 했지만 reference 에서 찾지 못했습니다 .

<body>
  <div id="cesiumContainer"></div>
  <script>
    var viewer = new Cesium.Viewer('cesiumContainer', 
      {
        timeline: false,
        animation: false
      });
  </script>
</body>
</html>

답변:


5

뷰어 위젯을 구성하기 전에 "기본"카메라보기를 설정할 수 있으며 이는 초기보기 및 "홈"단추보기 모두에 사용됩니다. Camera 클래스 ( reference doc )에서 정적 속성 DEFAULT_VIEW_FACTOR 및 DEFAULT_VIEW_RECTANGLE을 사용하여 다음과 같이 설정하십시오.

var west = 122.0;
var south = 33.0;
var east = 130.0;
var north = 47.0;

var rectangle = Cesium.Rectangle.fromDegrees(west, south, east, north);

Cesium.Camera.DEFAULT_VIEW_FACTOR = 0;
Cesium.Camera.DEFAULT_VIEW_RECTANGLE = rectangle;

// NOTE: Viewer constructed after default view is set.
var viewer = new Cesium.Viewer('cesiumContainer');

또한 Sandcastle Camera Demo 는 시공 후 런타임에 카메라를 비행하거나 위치에 고정시키는 여러 가지 방법을 보여줍니다. 드롭 다운 상자 선택기 (전 세계 왼쪽 상단)를 사용하여 다양한 옵션을 확인하십시오.


7

뷰어를 이미 만든 경우 해당 뷰어를 만든 후에이 코드를 넣어 특정 경도, 위도에 대한 확대 / 축소를 만들 수 있습니다.

var center = Cesium.Cartesian3.fromDegrees(-82.5, 35.3);
viewer.camera.lookAt(center, new Cesium.Cartesian3(0.0, 0.0, 4200000.0));

그리고 두 번째 줄의 세 번째 용어를 설정 32500000.0하면 홈 버튼의 효과와 유사하게 더 멀리 떨어집니다. 따라서 3 번째 항을 변경하여 원하는 확대 / 축소를 얻으십시오.


패닝이 새로운 중심점을 중심으로 지구를 움직일 수 있도록 마우스를 엉망으로 만드는 것 같습니다.
Richard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.