cesium自定义地球glob放大缩小按钮方法

一、要想实现镜头缩放控制,首先我们需要能够获取当前的相机中心的位置,其次需要能够控制镜头根据指定中心位置和高度进行缩放,效果页面

	// 获取相机当前高,经,纬
    function get_camera_height() {
        // 获取当前镜头位置的笛卡尔坐标
        var cameraPosition = viewer.camera.position;
        // 获取当前坐标系标准
        var ellipsoid = viewer.scene.globe.ellipsoid;
        // 根据坐标系标准,将笛卡尔坐标转换为地理坐标
        var cartographic = ellipsoid.cartesianToCartographic(cameraPosition);
        // 获取镜头的高度
        var height = cartographic.height;
        // 根据上面当前镜头的位置,获取该中心位置的经纬度坐标
        var centerLon = parseFloat(Cesium.Math.toDegrees(cartographic.longitude).toFixed(8));
        var centerLat = parseFloat(Cesium.Math.toDegrees(cartographic.latitude).toFixed(8));
        return { height, centerLon, centerLat };
    };
    // 放大方法
    function big() {
        console.log("放大", get_camera_height());
        viewer.camera.flyTo({
            destination: Cesium.Cartesian3.fromDegrees(get_camera_height().centerLon, get_camera_height().centerLat, get_camera_height().height / 1.8),
            duration: 1.0
        });
    }
    // 缩小方法
    function samll() {
        viewer.camera.flyTo({
            destination: Cesium.Cartesian3.fromDegrees(get_camera_height().centerLon, get_camera_height().centerLat, get_camera_height().height * 1.8),
            duration: 1.0
        });
    }

cesium自定义地球glob放大缩小按钮方法_第1张图片

注:效果页面地址:http://linshipeng.com/src/camera/zoom.html

你可能感兴趣的:(cesium自定义地球glob放大缩小按钮方法)