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>

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á.


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.


Isso parece atrapalhar o mouse para mim, de modo que o movimento panorâmico move o mundo sobre o novo ponto central.
Richard
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.