Suite

Comment contrôler la quantité de zoom dans Cesium.Camera.flyTo ?

Comment contrôler la quantité de zoom dans Cesium.Camera.flyTo ?


Le code suivant dirige la caméra vers une destination particulière. Mais comment contrôler le zoom sur une destination particulière ?

viewer.camera.flyTo({ destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0), durée : 20.0 });

Changer Cesium.Camera.defaultZoomAmount ne semble pas fonctionner pour moi.


La destination peut être un rectangle au lieu d'un cartésien3. Lors de l'utilisation d'un rectangle, la hauteur de la caméra (niveau de zoom) sera définie de manière à ce qu'elle puisse voir les coins du rectangle. Utilisez un rectangle plus grand pour un look plus zoomé.

Pour un exemple fonctionnel, chargez la démo de la caméra Sandcastle et cliquez sur le menu déroulant pour sélectionner "Fly to Rectange". La démo exécute ce code :

var ouest = -90,0 ; var sud = 38,0 ; var est = -87,0 ; var nord = 40,0 ; var rectangle = Cesium.Rectangle.fromDegrees(ouest, sud, est, nord); viewer.camera.flyTo({ destination : rectangle }); // Affiche le rectangle. Non requis; juste pour le spectacle. viewer.entities.add({ rectangle : { coordonnées : rectangle, fill : false, outline : true, outlineColor : Cesium.Color.WHITE } });

Cartésien3 prend trois paramètres. Le troisième paramètre étant la composante Z qui prend en charge la hauteur à laquelle la caméra est placée. La variation de la composante Z nous aide à contrôler le zoom de la caméra vers une destination particulière identifiée par les deux premiers paramètres, composante X et composante Y (latitude, longitude).