Mais

Como controlar a quantidade de zoom em Cesium.Camera.flyTo?

Como controlar a quantidade de zoom em Cesium.Camera.flyTo?


O código a seguir leva a câmera para um destino específico. Mas como faço para controlar o zoom em um destino específico?

viewer.camera.flyTo ({destino: Cesium.Cartesian3.fromDegrees (-117,16, 32,71, 15000,0), duração: 20,0});

Alterar Cesium.Camera.defaultZoomAmount não parece funcionar para mim.


O destino pode ser um retângulo em vez de um cartesiano3. Ao usar um retângulo, a altura da câmera (nível de zoom) será definida de forma que ela possa ver os cantos do retângulo. Use um retângulo maior para uma aparência mais reduzida.

Para um exemplo prático disso, carregue o Sandcastle Camera Demo e clique no menu suspenso para selecionar "Fly to Rectange". A demonstração executa este código:

var west = -90,0; var sul = 38,0; var leste = -87,0; var norte = 40,0; retângulo var = Césio.Retângulo.fromDegrees (oeste, sul, leste, norte); viewer.camera.flyTo ({destino: retângulo}); // Mostra o retângulo. Não requerido; apenas para mostrar. viewer.entities.add ({retângulo: {coordenadas: retângulo, preenchimento: falso, contorno: verdadeiro, contornoColor: Césio.Color.WHITE}});

Cartesian3 leva três parâmetros. O terceiro parâmetro é o componente Z, que cuida da altura em que a câmera é colocada. A variação do componente Z nos ajuda a controlar o zoom da câmera para um determinado destino identificado pelos primeiros dois parâmetros, componente X e componente Y (latitude, longitude).