¿Cómo establecer las coordenadas en las que se centra Cesium.Viewer?

10

En el tutorial oficial de CesiumJS hay una HelloWorldaplicación de muestra , que muestra un visor de mapas.

Cuando el usuario abre la página, quiero que el globo esté centrado sobre cierto punto y con un cierto zoom:

Captura de pantalla

¿Cómo puedo conseguir esto?

Supuse que se puede configurar a través de Cesium.Viewerparámetros de constructor (como a timelinecontinuación), pero no los encontré en la referencia .

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

Respuestas:

5

Puede establecer la vista de cámara "predeterminada" antes de construir el widget Visor, y esto se usa tanto para la vista inicial como para la vista del botón "Inicio". Establezca esto usando las propiedades estáticas DEFAULT_VIEW_FACTOR y DEFAULT_VIEW_RECTANGLE en la clase de cámara ( documento de referencia ), de esta manera:

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

También tenga en cuenta que la demostración de la cámara Sandcastle muestra varias formas de volar o ajustar la cámara a ubicaciones en tiempo de ejecución, después de la construcción. Use el selector de cuadro desplegable (arriba a la izquierda del globo) para ver las diferentes opciones allí.

emackey
fuente
7

Si ya ha creado un visor, puede poner este código después de la creación de ese visor, para crear un zoom a una longitud específica, latitud.

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

Y si establece el tercer término en la segunda línea 32500000.0, estará más lejos, de forma similar al efecto del botón de inicio. Intente variar ese tercer término para obtener el zoom que desea.

Cutlasj
fuente
Eso parece estropear el mouse para mí, de modo que la panorámica mueve el globo sobre el nuevo punto centrado.
Richard