Come impostare le coordinate su cui è centrato Cesium.Viewer?


10

Nel tutorial ufficiale di CesiumJS c'è HelloWorldun'applicazione di esempio , che mostra un visualizzatore di mappe.

Quando l'utente apre la pagina, voglio che il globo sia centrato sopra un certo punto e con un certo zoom:

Immagine dello schermo

Come posso raggiungere questo obiettivo?

Ho pensato che potesse essere configurato tramite Cesium.Viewerparametri del costruttore (come timelinesotto), ma non li ho trovati nel riferimento .

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

Risposte:


5

È possibile impostare la vista della telecamera "predefinita" prima di costruire il widget Viewer, che viene utilizzato sia per la vista iniziale che per la vista del pulsante "Home". Impostalo usando le proprietà statiche DEFAULT_VIEW_FACTOR e DEFAULT_VIEW_RECTANGLE sulla classe Camera ( documento di riferimento ), in questo modo:

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

Si noti inoltre che la demo di Sandcastle Camera mostra una serie di modi per volare o far scattare la telecamera in luoghi durante l'esecuzione, dopo la costruzione. Utilizza il selettore a discesa (in alto a sinistra del globo) per vedere le diverse opzioni lì.


7

Se hai già creato un visualizzatore, puoi inserire questo codice dopo la creazione di quel visualizzatore, per creare uno zoom su una specifica Longitudine, Latitudine.

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

E se imposti il ​​3o termine nella 2a riga 32500000.0, sarai più lontano, simile all'effetto del pulsante Home. Quindi prova a variare quel 3o termine per ottenere lo zoom desiderato.


Questo sembra incasinare il mouse per me in modo che il panning muova il globo attorno al nuovo punto centrato.
Richard,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.