亚洲动漫在线观看-亚洲动漫第一页-亚洲丁香婷婷-亚洲丶国产丶欧美一区二区三区-亚洲第一综合网站-亚洲第一永久色

顯示源代碼
飛行軌跡
 開發文檔
            <!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%;
        }
                #toolbar{
            position: absolute;
            top:15px;
            left:20px;
            z-index: 99;
            width: 150px;
        }
        #toolbar select {
            display: inline-block;
            position: relative;
            background: #303336;
            border: 1px solid #444;
            color: #edffff;
            fill: #edffff;
            border-radius: 4px;
            padding: 5px 12px;
            margin: 2px 3px;
            cursor: pointer;
            overflow: hidden;
            -moz-user-select: none;
            -webkit-user-select: none;
            -ms-user-select: none;
            user-select: none;
        }

        #toolDiv {
            left: 10px;
            top: 10px;
            margin-bottom: 10px;
        }
        .bmgl-widget-credits{display:none}
    </style>
    <title>part_test</title>
</head>
<body>
<div id="toolbar">
    <div id="toolDiv">
        <select data-bind="options: selection, value: selectValue"> </select>
    </div>
    <button onclick="ViewToDown()">視角向下</button>
    <button onclick="ViewToSide()">側面視角</button>
    <button onclick="ViewToAircraft()">第一視角</button>
</div>
<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',timeline:true});
    var entity = undefined;
    viewer.scene.globe.enableLighting = true;
    viewer.scene.globe.depthTestAgainstTerrain = true;
    //Set bounds of our simulation time
    var start = bmgl.JulianDate.fromDate(new Date(2015, 2, 25, 16));
    var stop = bmgl.JulianDate.addSeconds(start, 360, new bmgl.JulianDate());

    //Make sure viewer is at the desired time.
    viewer.clock.startTime = start.clone();
    viewer.clock.stopTime = stop.clone();
    viewer.clock.currentTime = start.clone();
    viewer.clock.clockRange = bmgl.ClockRange.LOOP_STOP; //Loop at the end
    viewer.clock.multiplier = 10;
    //Set timeline to simulation bounds
    viewer.timeline.zoomTo(start, stop);
    //Generate a random circular pattern with varying heights.
    function computeCirclularFlight(lon, lat, radius) {
        var property = new bmgl.SampledPositionProperty();
        for (var i = 0; i <= 360; i += 45) {
            var radians = bmgl.Math.toRadians(i);
            var time = bmgl.JulianDate.addSeconds(start, i, new bmgl.JulianDate());
            var position = bmgl.Cartesian3.fromDegrees(lon + (radius * 1.5 * Math.cos(radians)), lat + (radius * Math.sin(radians)), bmgl.Math.nextRandomNumber() * 500 + 8750);
            property.addSample(time, position);
            //Also create a point for each sample we generate.
            viewer.entities.add({
                position: position,
                point: {
                    pixelSize: 8,
                    color: bmgl.Color.TRANSPARENT,
                    outlineColor: bmgl.Color.YELLOW,
                    outlineWidth: 3
                }
            });
        }
        return property;
    }

    //Compute the entity position property.
    var position = computeCirclularFlight(86.93047, 27.986914, 0.03);
    viewer.camera.flyTo({
        destination: bmgl.Cartesian3.fromDegrees(86.93047, 27.986914, 20000)
    });

    //Actually create the entity
    entity = viewer.entities.add({
        //Set the entity availability to the same interval as the simulation time.
        availability: new bmgl.TimeIntervalCollection([new bmgl.TimeInterval({
            start: start,
            stop: stop
        })]),

        //Use our computed positions
        position: position,
        //Automatically compute orientation based on position movement.
        orientation: new bmgl.VelocityOrientationProperty(position),
        //Load the Cesium plane model to represent the entity
        model: {
            uri: '/bmgl/obj/plane.glb',
            minimumPixelSize: 64,
            scale:50,
        },

        //Show the path as a pink line sampled in 1 second increments.
        path: {
            resolution: 1,
            material: new bmgl.PolylineGlowMaterialProperty({
                glowPower: 0.1,
                color: bmgl.Color.YELLOW
            }),
            width: 10
        }
    });

    var viewModel = {
        selection: ["折線", "光滑線", "Hermite光滑線"],
        selectValue: 0
    };

    bmgl.knockout.track(viewModel);

    /*給viewModel中的所有屬性進行監測*/
    var toolbar = document.getElementById('toolbar');
    bmgl.knockout.applyBindings(viewModel, toolbar);

    bmgl.knockout.getObservable(viewModel, 'selectValue').subscribe(
        function (newValue) {
            var that = this;
            if (newValue == '折線') {
                entity.position.setInterpolationOptions({
                    interpolationDegree: 1,
                    interpolationAlgorithm: bmgl.LinearApproximation
                });
            } else if (newValue == '光滑線') {
                entity.position.setInterpolationOptions({
                    interpolationDegree: 5,
                    interpolationAlgorithm: bmgl.LagrangePolynomialApproximation
                });
            } else if (newValue == 'Hermite光滑線') {
                entity.position.setInterpolationOptions({
                    interpolationDegree: 2,
                    interpolationAlgorithm: bmgl.HermitePolynomialApproximation
                });
            }
        }
    );

    function ViewToDown() {
        viewer.trackedEntity = undefined;
        viewer.zoomTo(viewer.entities, new bmgl.HeadingPitchRange(0, bmgl.Math.toRadians(-90)));
    }

    function ViewToSide() {
        viewer.trackedEntity = undefined;
        viewer.zoomTo(viewer.entities, new bmgl.HeadingPitchRange(bmgl.Math.toRadians(-90), bmgl.Math.toRadians(-15), 7500));
    }

    function ViewToAircraft() {
        viewer.trackedEntity = entity;
    }
    viewer.clock.shouldAnimate=true;
</script>
</body>
</html>                                                                                                                                                                                                                                                                    
主站蜘蛛池模板: 亚洲国产欧美目韩成人综合 | a级精品九九九大片免费看 a级动漫 | 我半夜摸妺妺的奶C了她软件 | 天堂资源8中文最新版 | 亚洲国产在线视频中文字 | 色哟哟在线观看 | 日本中文字幕一区二区有码在线 | 日本春菜花在线中文字幕 | 2022国产麻豆剧传媒剧情 | 视频高清在线观看 | 99国产高清久久久久久网站 | 青青青手机在线观看 | 久久精品WWW人人爽人人 | 草莓在深夜释放自己软件 | swag最新正在播放 | 日本一区二区三区视频在线观看 | 91制片厂制作传媒网站破解 | 精品成人片深夜 | 日本免费v片一二三区 | 小伙无套内射老女人 | 四虎最新永久在线精品免费 | 日本精品一卡二卡≡卡四卡 | 欧美在线视频一区在线观看 | 91极品在线观看 | 青青草国产精品 | 91精品啪在线观看国产线免费 | 国产精品一区二区在线观看完整版 | 無码一区中文字幕少妇熟女H | brazzers欧美教师 | 99ri国产在线 | 国产欧美另类久久精品91 | 国产成人精视频在线观看免费 | 亚洲精美视频 | 逼中极品 | 色天天综合色天天碰 | 99精品热 | 99久久这里只有精品 | 热伊人99re久久精品最新地 | 高清不卡一区二区 | 翁用力的抽插 | 国产日韩一区二区三区 |