婷婷久久网-婷婷久久久久-婷婷久久久-婷婷久-国产微拍精品一区-国产网址在线观看

顯示源代碼
相機平移
 開發文檔
                                                <!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8' />
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
    <link  rel='stylesheet' />
    <script src='http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>
    <style>
        body {
            margin: 0;
            padding: 0;
        }

        #container {
            position: absolute;
            top: 0;
            bottom: 0;
            width: 100%;
        }

        .bmgl-widget-credits {
            display: none
        }
    </style>
    <title>Google Map Streets</title>
</head>

<body>
    <div id='container'></div>

    <script>
        bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
        var viewer = new bmgl.Viewer('container', { mapId: 'bigemap.dc-satellite' });


        var scene = viewer.scene;
        var canvas = viewer.canvas;
        canvas.setAttribute("tabindex", "0"); // needed to put focus on the canvas
        canvas.onclick = function () {
            canvas.focus();
        };
        var ellipsoid = scene.globe.ellipsoid;

        //關閉地球默認選擇 平移 事件    
        scene.screenSpaceCameraController.enableRotate = false;
        scene.screenSpaceCameraController.enableTranslate = false;
        scene.screenSpaceCameraController.enableZoom = false;
        scene.screenSpaceCameraController.enableTilt = false;
        scene.screenSpaceCameraController.enableLook = false;
        // 創建變量記錄當前鼠標位置,然后標記并跟隨Camera移動軌跡:
        var startMousePosition;
        var mousePosition;
        var flags = {
            looking: false,
            moveForward: false,
            moveBackward: false,
            moveUp: false,
            moveDown: false,
            moveLeft: false,
            moveRight: false,
        };

        // 添加一個事件控制用戶設置標記,當鼠標左鍵被點擊的時候,用于記錄當前鼠標的位置:
        var handler = new bmgl.ScreenSpaceEventHandler(canvas);

        //設置點擊事件
        handler.setInputAction(function (movement) {
            flags.looking = true;
            mousePosition = startMousePosition = bmgl.Cartesian3.clone(
                movement.position
            );
        }, bmgl.ScreenSpaceEventType.LEFT_DOWN);

        handler.setInputAction(function (movement) {
            mousePosition = movement.endPosition;
        }, bmgl.ScreenSpaceEventType.MOUSE_MOVE);

        handler.setInputAction(function (position) {
            flags.looking = false;
        }, bmgl.ScreenSpaceEventType.LEFT_UP);

        // 創建鍵盤事件控制用戶切換Camera移動標記。我們為下列按鍵和行為設置了標記:

        //     w Camera向前。
        //     s Camera向后。
        //     a Camera向左。
        //     d Camera向右。
        //     q Camera向上。
        // e Camera向下。
        function getFlagForKeyCode(keyCode) {
            switch (keyCode) {
                case "W".charCodeAt(0):
                    return "moveForward";
                case "S".charCodeAt(0):
                    return "moveBackward";
                case "Q".charCodeAt(0):
                    return "moveUp";
                case "E".charCodeAt(0):
                    return "moveDown";
                case "D".charCodeAt(0):
                    return "moveRight";
                case "A".charCodeAt(0):
                    return "moveLeft";
                default:
                    return undefined;
            }
        }

        document.addEventListener(
            "keydown",
            function (e) {
                var flagName = getFlagForKeyCode(e.keyCode);
                if (typeof flagName !== "undefined") {
                    flags[flagName] = true;
                }
            },
            false
        );

        document.addEventListener(
            "keyup",
            function (e) {
                var flagName = getFlagForKeyCode(e.keyCode);
                if (typeof flagName !== "undefined") {
                    flags[flagName] = false;
                }
            },
            false
        );
        // 現在當標記表明事件發生為true是,我們更新(update)camera。我們新增 ** onTick的監聽事件在clock中:

        viewer.clock.onTick.addEventListener(function (clock) {
            var camera = viewer.camera;

            // 接下來,我們讓Camera指向鼠標指向的方向。在變量聲明之后添加下列代碼到事件監聽函數
            if (flags.looking) {
                var width = canvas.clientWidth;
                var height = canvas.clientHeight;

                // Coordinate (0.0, 0.0) will be where the mouse was clicked.
                var x = (mousePosition.x - startMousePosition.x) / width;
                var y = -(mousePosition.y - startMousePosition.y) / height;

                var lookFactor = 0.05;
                camera.lookRight(x * lookFactor);
                camera.lookUp(y * lookFactor);
            }

            //moveForward、moveBackward、moveUp、moveDown、moveLeft和moveRight方法只需要一個距離參數(米)
            // 用于移動Camera的距離。當每一個按鍵被按下時,
            // Camera就會在球體表面移動固定的距離。Camera離地面越近,移動的速度就越慢。
            var cameraHeight = ellipsoid.cartesianToCartographic(camera.position)
                .height;
            var moveRate = cameraHeight / 100.0;

            if (flags.moveForward) {
                camera.moveForward(moveRate);
            }
            if (flags.moveBackward) {
                camera.moveBackward(moveRate);
            }
            if (flags.moveUp) {
                camera.moveUp(moveRate);
            }
            if (flags.moveDown) {
                camera.moveDown(moveRate);
            }
            if (flags.moveLeft) {
                camera.moveLeft(moveRate);
            }
            if (flags.moveRight) {
                camera.moveRight(moveRate);
            }
        });

    </script>
</body>

</html>                                                                                
主站蜘蛛池模板: 眼睛胬肉手术多久恢复| 《黑人情欲》在线播放| 葛思然| 韵达快递收费标准| 日韩欧美动作影片| 应晖是谁演的| 混凝土结构施工质量验收规范gb50204-2015 | 1987年美国电影| 追凶电影| 2024生物中考真题试卷| 夜色斗僵尸| 彭丹丹最惊艳的电影| 相识韩国| 一元二次不等式的例题100道| 雪肌夜叉| midjourney中文版| 《窃她》短剧全集| 3d成人国产同人动漫焰灵姬| 女神宿舍管理君动漫| 关于心情的词语| 俗世乐土| city of stars歌词| 美女在线| 女性高级感大片| 总裁掀开她的内衣揉她的柔软视频| 军官与男孩| 奶粉罐回收多少钱一个| 爱情和战争| 经典常谈阅读笔记| 任喜宝| 古董局中局2鉴墨寻瓷| 美丽的坏女人中文字幕| 《宝莲灯》| 新妈妈 在线| 抗日片100部免费连续剧| 漂亮女孩 电视剧| 刘思维| 肖叮叮的剿匪记 电视剧免费观看| 胖女人做爰全过程免费的视频| 加藤视频下载| 假面骑士电王|