在线免费看污_亚洲视频在线免费观看_91精品国产电影_久久国产亚洲_久久四虎影院_亚洲欧美a_国产精品一区二区三

顯示源代碼
飛行的熱氣球
 開發文檔
            <!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link  rel='stylesheet' />
    <script src='http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>
</head>
<style>
    * {
        margin: 0;
        padding: 0;
    }

    #container {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
    }
</style>

<body>
    <div id="container"></div>
    <div id="loadingOverlay">
        <h1>Loading...</h1>
    </div>
</body>
<script>

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

    // Click the VR button in the bottom right of the screen to switch to VR mode.

    viewer.scene.globe.enableLighting = true;
    viewer.scene.globe.depthTestAgainstTerrain = true;

    // Follow the path of a plane. See the interpolation Sandcastle example.
    bmgl.Math.setRandomNumberSeed(3);

    var start = bmgl.JulianDate.fromDate(new Date(2015, 2, 25, 16));
    var stop = bmgl.JulianDate.addSeconds(
        start,
        360,
        new bmgl.JulianDate()
    );

    viewer.clock.startTime = start.clone();
    viewer.clock.stopTime = stop.clone();
    viewer.clock.currentTime = start.clone();
    viewer.clock.clockRange = bmgl.ClockRange.LOOP_STOP;
    viewer.clock.multiplier = 1.0;
    viewer.clock.shouldAnimate = true;

    function computeCirclularFlight(lon, lat, radius) {
        var property = new bmgl.SampledPositionProperty();
        var startAngle = bmgl.Math.nextRandomNumber() * 360.0;
        var endAngle = startAngle + 360.0;

        var increment =
            (bmgl.Math.nextRandomNumber() * 2.0 - 1.0) * 10.0 + 45.0;
        for (var i = startAngle; i < endAngle; i += increment) {
            var radians = bmgl.Math.toRadians(i);
            var timeIncrement = i - startAngle;
            var time = bmgl.JulianDate.addSeconds(
                start,
                timeIncrement,
                new bmgl.JulianDate()
            );
            var position = bmgl.Cartesian3.fromDegrees(
                lon + radius * 1.5 * Math.cos(radians),
                lat + radius * Math.sin(radians),
                bmgl.Math.nextRandomNumber() * 500 + 1800
            );
            property.addSample(time, position);
        }
        return property;
    }

    var longitude = 104.111;
    var latitude = 31.1110;
    var radius = 0.03;

    var modelURI =
        "/templates/glb/bmglBalloon.glb";
    var entity = viewer.entities.add({
        availability: new bmgl.TimeIntervalCollection([
            new bmgl.TimeInterval({
                start: start,
                stop: stop,
            }),
        ]),
        position: computeCirclularFlight(longitude, latitude, radius),
        model: {
            uri: modelURI,
            minimumPixelSize: 64,
        },
    });

    entity.position.setInterpolationOptions({
        interpolationDegree: 2,
        interpolationAlgorithm: bmgl.HermitePolynomialApproximation,
    });

    // Set initial camera position and orientation to be when in the model's reference frame.
    var camera = viewer.camera;
    camera.position = new bmgl.Cartesian3(0.25, 0.0, 0.0);
    camera.direction = new bmgl.Cartesian3(1.0, 0.0, 0.0);
    camera.up = new bmgl.Cartesian3(0.0, 0.0, 1.0);
    camera.right = new bmgl.Cartesian3(0.0, -1.0, 0.0);

    viewer.scene.postUpdate.addEventListener(function (scene, time) {
        var position = entity.position.getValue(time);
        if (!bmgl.defined(position)) {
            return;
        }

        var transform;
        if (!bmgl.defined(entity.orientation)) {
            transform = bmgl.Transforms.eastNorthUpToFixedFrame(position);
        } else {
            var orientation = entity.orientation.getValue(time);
            if (!bmgl.defined(orientation)) {
                return;
            }

            transform = bmgl.Matrix4.fromRotationTranslation(
                bmgl.Matrix3.fromQuaternion(orientation),
                position
            );
        }

        // Save camera state
        var offset = bmgl.Cartesian3.clone(camera.position);
        var direction = bmgl.Cartesian3.clone(camera.direction);
        var up = bmgl.Cartesian3.clone(camera.up);

        // Reset the camera state to the saved state so it appears fixed in the model's frame.
        bmgl.Cartesian3.clone(offset, camera.position);
        bmgl.Cartesian3.clone(direction, camera.direction);
        bmgl.Cartesian3.clone(up, camera.up);
        bmgl.Cartesian3.cross(direction, up, camera.right);
    });
    //設置相機位置 
    viewer.camera.setView( {
        destination  : bmgl.Cartesian3.fromDegrees( 104.153, 31.089, 30000 )
    } );

    // Add a few more balloons flying with the one the viewer is in.
    var numBalloons = 12;
    for (var i = 0; i < numBalloons; ++i) {
        var balloonRadius =
            (bmgl.Math.nextRandomNumber() * 2.0 - 1.0) * 0.01 + radius;
        var balloon = viewer.entities.add({
            availability: new bmgl.TimeIntervalCollection([
                new bmgl.TimeInterval({
                    start: start,
                    stop: stop,
                }),
            ]),
            position: computeCirclularFlight(
                longitude,
                latitude,
                balloonRadius
            ),
            model: {
                uri: modelURI,
                minimumPixelSize: 64,
            },
        });

        balloon.position.setInterpolationOptions({
            interpolationDegree: 2,
            interpolationAlgorithm: bmgl.HermitePolynomialApproximation,
        });
    }


</script>

</html>                                                                                                                                                                                                                                
主站蜘蛛池模板: 亚洲国产三级 | 成人毛片免费看 | 久久99草| 狠狠色噜噜狠狠狠四色米奇 | 九九热精| 国产在线成人a | 欧美性生交xxxxx久久久 | 香港三级日本三级澳门三级人 | 天天操夜 | 青娱乐极品视频在线观看 | 色综合中文字幕色综合激情 | 国产福利午夜波多野结衣 | 国产三级在线视频播放线 | 精品在线一区二区 | 青娱乐在线免费观看 | 久久亚洲一级毛片 | 中文字幕第九页 | 伊人网在线视频观看 | 且试天下电视剧39集免费观看 | 97午夜理伦片在线影院 | 国产精品123| 9 9久热re在线精品视频 | 蜜桃日本一道无卡不码高清 | 男人深夜影院 | 欧美xxxx黑人又粗又长 | 曰本女人视频69xxx | 久久www免费人成_看片高清 | 国产在线伊人 | 2021最新国产成人精品视频 | 天天看天天摸天天操 | 啪啪国产 | 欧美激情一区二区三区视频 | 国产亚洲一区二区精品 | 99热在线这里只有精品 | 国产毛片久久国产 | 久久不见久久见免费影院 | 国内自啪 | 日本 亚洲 欧美 | 日日操夜夜爽 | 美女网站免费久久久久久久 | 国产超爽人人爽人人做 |