Как установить координаты центрирования Cesium.Viewer?

10

В официальном уроке CesiumJS есть пример HelloWorldприложения, которое показывает вьюер карт.

Когда пользователь открывает страницу, я хочу, чтобы глобус был в центре над определенной точкой и с определенным увеличением:

Скриншот

Как мне этого добиться?

Я предполагал, что это можно настроить с помощью Cesium.Viewerпараметров конструктора (как timelineпоказано ниже), но не нашел их в ссылке .

<body>
  <div id="cesiumContainer"></div>
  <script>
    var viewer = new Cesium.Viewer('cesiumContainer', 
      {
        timeline: false,
        animation: false
      });
  </script>
</body>
</html>
Дмитрий Писаренко
источник

Ответы:

5

Вы можете установить вид камеры «по умолчанию» до создания виджета «Просмотрщик», и это используется как для начального вида, так и для вида кнопки «Домой». Установите это, используя статические свойства DEFAULT_VIEW_FACTOR и DEFAULT_VIEW_RECTANGLE в классе Camera ( справочный документ ), например:

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 демонстрирует несколько способов полета или привязки камеры к местам во время выполнения, после строительства. Используйте раскрывающийся список (вверху слева от глобуса), чтобы увидеть различные варианты.

emackey
источник
7

Если вы уже создали средство просмотра, вы можете поместить этот код после создания этого средства просмотра, чтобы создать масштаб для определенной долготы, широты.

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

И если вы установите 3-й член во 2-й строке, 32500000.0вам будет дальше, аналогично эффекту кнопки домой. Так что попробуйте изменить этот 3-й член, чтобы получить нужный вам масштаб.

Cutlasj
источник
Это, кажется, портит мне мышь, так что панорамирование перемещает земной шар вокруг новой центрированной точки.
Ричард