Como definir as coordenadas em que o Cesium.Viewer está centralizado?

10

No tutorial oficial do CesiumJS, há um HelloWorldaplicativo de amostra , que mostra um visualizador de mapa.

Quando o usuário abre a página, quero que o globo esteja centralizado acima de um certo ponto e com um certo zoom:

Captura de tela

Como posso conseguir isso?

Eu assumi que ele pode ser configurado através de Cesium.Viewerparâmetros do construtor (como timelineabaixo), mas não os encontrei na referência .

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

Respostas:

5

Você pode definir a visualização da câmera "padrão" antes da construção do widget Visualizador, e isso é usado tanto para a visualização inicial quanto para a visualização do botão "Início". Defina isso usando as propriedades estáticas DEFAULT_VIEW_FACTOR e DEFAULT_VIEW_RECTANGLE na classe Camera ( documento de referência ), desta forma:

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');

Observe também que o Sandcastle Camera Demo mostra várias maneiras de voar ou encaixar a câmera nos locais em tempo de execução, após a construção. Use o seletor da caixa suspensa (canto superior esquerdo do globo) para ver as diferentes opções lá.

emackey
fonte
7

Se você já criou um visualizador, poderá colocar esse código após a criação do visualizador, para criar um zoom para uma longitude específica, latitude.

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

E se você definir o 3º termo na 2ª linha 32500000.0, estará mais distante, semelhante ao efeito do botão home. Portanto, tente variar o terceiro termo para obter o zoom desejado.

Cutlasj
fonte
Isso parece atrapalhar o mouse para mim, de modo que o movimento panorâmico move o mundo sobre o novo ponto central.
Richard