国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久

顯示源代碼
模擬飛行-外部視角
 開發文檔
            <!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%;
        }
        .info{
            position: fixed;
            top:0;
            color: #8a6d3b;
            z-index: 99;
            padding:14px;
            margin: 0;
            background-color: #fcf8e3;
            border-color: #faebcc;
            left: 0;
            right: 0;
            text-align: center;
        }
    </style>
    <title>模擬飛行</title>
</head>
<body>
<div class="info">
    使用方向鍵控制飛行 “←” 向左飛行,“→”:向右飛行,“↑” 升高,“↓” 下降,若控制失效,請單擊本處獲得焦點
</div>
<div id='container'></div>
<script>
    bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
    var viewer = new bmgl.Viewer('container', {
        terrainId: 'bigemap.dc-terrain',
        requestRenderMode:false,
        mapId: 'bigemap.dc-tian-w-satellite',
        shouldAnimate:true,
    });
    viewer.scene.globe.depthTestAgainstTerrain=true;
      viewer.screenSpaceEventHandler.removeInputAction(bmgl.ScreenSpaceEventType.LEFT_CLICK);
      
    var canvas = viewer.canvas;
    canvas.setAttribute("tabindex", "0"); 
    canvas.addEventListener("click", function () {
        canvas.focus();
    });
    canvas.focus();
    var config = {
        init: {
            lat: 30.950543,
            lng: 103.0004609201,
            height: 4000,
        },
        requireHeight:true,
        angle:{
            delta: 0.5,
            left:0,
            down:0,
            r:0,
            p:0,
        },
        position: {},
        delta: 0.00003,
    };
    config.position = Object.assign({}, config.init);
    viewer.scene.camera.setView({
        destination: bmgl.Cartesian3.fromDegrees(config.init.lng, config.init.lat, config.init.height),
        endTransform: bmgl.Matrix4.IDENTITY,
    });
    var plane = viewer.entities.add({
        position: bmgl.Cartesian3.fromDegrees(config.init.lng, config.init.lat, config.init.height),
        orientation: bmgl.Transforms.headingPitchRollQuaternion(bmgl.Cartesian3.fromDegrees(config.position.lng, config.position.lat, config.position.height), new bmgl.HeadingPitchRoll(config.angle.left-90, 0, 0)),
        model: {
            maximumScale: 2000,
            minimumPixelSize: 300,
            uri: '/templates/glb/bmgl_Air.glb',
        }
    });

    function getHeight(){
        config.requireHeight=false;
        var promise=bmgl.sampleTerrainMostDetailed(viewer.terrainProvider,[bmgl.Cartographic.fromDegrees(config.position.lng,config.position.lat)]);
        bmgl.when(promise,(data)=>{
            if (data&&data[0]&&data[0]['height']&&data[0]['height']>0&&config.position.height<data['0']['height']+100){
                if (!config.position.oldHeight) config.position.oldHeight=config.position.height;
                config.position.height=data['0']['height']+100;
            }
            config.requireHeight=true;
        }).otherwise(()=>{
            config.requireHeight=true;
        });
    }
  

    viewer.trackedEntity = plane;
    viewer.clock.onTick.addEventListener(function (e) {
        getHeight();
        config.position.lat += Math.cos(bmgl.Math.toRadians(config.angle.left))*config.delta;
        config.position.lng += Math.sin(bmgl.Math.toRadians(config.angle.left))*config.delta;
        if (config.angle.p&&!config.keydown){
            config.angle.p>0?config.angle.p-=config.angle.delta:config.angle.p+=config.angle.delta;
        }
        if (config.angle.r&&!config.keydown){
            config.angle.r>0?config.angle.r-=config.angle.delta:config.angle.r+=config.angle.delta;
        }
        plane.position = bmgl.Cartesian3.fromDegrees(config.position.lng, config.position.lat, config.position.height);
        plane.orientation=bmgl.Transforms.headingPitchRollQuaternion(bmgl.Cartesian3.fromDegrees(config.position.lng, config.position.lat, config.position.height), new bmgl.HeadingPitchRoll.fromDegrees(config.angle.left-90, config.angle.p,config.angle.r));
    });

    document.addEventListener('keydown', function (e) {
        config.keydown=true;
        switch (e.keyCode) {
            case 37://左
                config.angle.left-=1;
                if (config.angle.r>-30)  config.angle.r-=config.angle.delta;
                break;
            case 38://向上
                config.position.height+=10;
                if (config.angle.p<30)  config.angle.p+=config.angle.delta;
                break;
            case 39://向右
                if (config.angle.r<30)  config.angle.r+=config.angle.delta;
                config.angle.left+=1;
                break;
            case 40://向下
                config.position.height-=10;
                if (config.angle.p>-30)  config.angle.p-=config.angle.delta;
                if (config.position.height<10) config.position.height=10;
                break;
        }
    });
    document.addEventListener('keyup',()=>{
        config.keydown=false;
    });
</script>
</body>
</html>
                                                                                                                                                                                                                                                                                                                                                                                                                    
国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久
<code id="kseui"><acronym id="kseui"></acronym></code>
  • <abbr id="kseui"><tbody id="kseui"></tbody></abbr>
  • <button id="kseui"></button>
  • 久久综合影视| 一本色道久久综合亚洲二区三区| 亚洲免费婷婷| 久久天天狠狠| 亚洲精品乱码久久久久久蜜桃麻豆| 97超碰人人看人人| 欧美fxxxxxx另类| 粉嫩精品一区二区三区在线观看 | 欧美日韩三区四区| 久久字幕精品一区| 噜噜噜噜噜久久久久久91| 日韩欧美亚洲精品| 久久香蕉精品| 欧洲亚洲一区二区| 久久av免费一区| 久久最新视频| 日日骚一区二区网站| 亚洲成人自拍视频| 亚洲久久成人| 亚洲一区二区三区精品动漫| 狠狠色综合欧美激情| 国产伦精品一区二区三区照片91 | 精品婷婷色一区二区三区蜜桃| 精品欧美一区二区在线观看视频| 欧美精品一级| 亚洲色图自拍| 日本免费高清一区二区| 日本一区不卡| 一区二区冒白浆视频| 欧美大陆一区二区| 久久久久久久久一区二区| 亚洲一区免费看| 99精品国产高清一区二区| 欧美激情1区2区3区| 精品国产福利| 狼狼综合久久久久综合网| 欧美日韩国产在线一区| 中文字幕一区二区三区乱码| 性欧美videos另类喷潮| 成人一区二区在线| 伊人成年综合电影网| 日本在线免费观看一区| 欧美一区=区| 伊人久久大香线蕉综合热线 | 欧美一区二区三区四区在线观看地址 | 视频在线99re| 国产精品视频免费一区| 亚洲 日韩 国产第一区| 国产精品www.| 国产精品普通话对白| www.久久爱.cn| 亚洲欧洲另类| 欧美日韩一区在线观看视频| 日本一区二区三区视频在线播放 | 激情综合视频| 香蕉亚洲视频| 在线一区视频| 亚洲视频中文| 精品91久久久久| 欧美日本三区| 欧美日韩国产探花| 欧美阿v一级看视频| 日本在线免费观看一区| 日本日本精品二区免费| 久久综合一区二区三区| 激情欧美一区二区三区中文字幕| av噜噜色噜噜久久| 91精品网站| 在线看视频不卡| 91精品久久久久久蜜桃| 亚洲一区综合| 久久久久一区二区三区| 久久蜜桃资源一区二区老牛| 91黄在线观看| 国产伦精品一区二区三区视频孕妇 | 不卡一区二区三区视频| 亚洲欧美精品在线观看| 国产伦精品一区二区三区四区免费| 国产一区视频观看| 好看的日韩av电影| 中文亚洲欧美| 91青青草免费观看| 久久久免费看| 亚洲一区二区在| 在线视频福利一区| 亚洲精选成人| 亚洲综合三区| 精品日产一区2区三区黄免费| 欧美成人第一区| 中国成人在线视频| 激情偷拍久久| 99精品在线直播| 明星裸体视频一区二区| 亚洲欧美亚洲| 亚欧成人精品| 噜噜噜噜噜久久久久久91| 亚洲午夜精品久久久久久浪潮| 欧美激情国产日韩| 乱人伦精品视频在线观看| 欧美一区国产一区| 亚洲欧美影院| 国产日韩欧美一区二区| 国产一区二区三区黄| 亚洲欧洲日韩综合二区| 亚洲精品影院| 欧美日韩精品不卡| 亚洲午夜久久久久久尤物| 老司机精品视频网站| 日本不卡二区高清三区| 99视频一区| 日本精品一区二区| 99riav国产精品| 久久久一本精品99久久精品66 | 久久一区国产| 一区二区不卡视频| 午夜亚洲激情| 一本色道久久综合亚洲精品婷婷 | 久久久精品动漫| 亚洲伊人婷婷| 成人免费视频视频在| 欧美区高清在线| 精品国产乱码久久久久久久软件 | 亚洲一区二区三区免费观看| 欧美一区二区三区在线播放| 亚洲精品三级| 色噜噜一区二区| 3d蒂法精品啪啪一区二区免费| 亚洲一区二区三区欧美| 国产高清一区视频| 亚洲经典三级| 亚洲国产高清国产精品| 91入口在线观看| 在线视频国内自拍亚洲视频| 久久精品一二三区| 国产乱人伦精品一区二区| 欧美成人一区二免费视频软件| 成人免费在线一区二区三区| 韩国精品一区二区三区| 色一情一区二区三区四区 | 亚洲一本视频| 日韩av一区二区三区在线| 久久一二三四| 中文亚洲欧美| 亚洲一级电影| 欧美成人日本| 一区二区国产日产| 欧美成人第一区| 国产精品国产精品国产专区蜜臀ah| 在线播放精品| 欧美日韩国产探花| 一区国产精品| 亚洲免费视频一区| 欧美日韩最好看的视频| 精品日韩欧美| 精品午夜一区二区| 99电影网电视剧在线观看| 免费视频一区二区三区在线观看| 国产在线日韩| 国内精品一区二区| 欧美深夜福利| 国内自拍一区| 激情丁香综合| 亚洲黄色一区| 一本久久综合| 欧美亚洲一区| caoporen国产精品| 国产91精品入口17c| www.久久草| 国产伦视频一区二区三区| 国产精品久久久久久久久久久久午夜片| 久久久久天天天天| av一区二区三区免费| 国产精品一区免费观看| 丁香婷婷久久久综合精品国产| 久久亚洲综合| 久久99精品久久久久久久久久| 韩日午夜在线资源一区二区| 久久久综合香蕉尹人综合网| 欧美激情论坛| 一区二区在线不卡| 亚洲午夜黄色| 国产亚洲一区二区三区在线播放| 亚洲一区二区免费看| 久久午夜激情| 欧美国产综合视频| 欧美精品日韩| 夜夜嗨一区二区三区| 久色成人在线| 秋霞毛片久久久久久久久| 亚洲欧洲一区二区福利| 国产精品v亚洲精品v日韩精品| 日韩午夜精品| 成人免费观看网站| 欧美在线3区| 欧美日韩三级| 国产欧美日韩在线播放| 99在线影院| 一区精品在线| 国产精品免费在线| 另类小说综合网|