顯示源代碼
                飛行逐一展示名稱
                 開發文檔
                            <!DOCTYPE html>
                <html lang="en">
                
                <head>
                    <meta charset="UTF-8">
                    <meta name="viewport" content="width=device-width, initial-scale=1.0">
                    <title>衛星掃描</title>
                    <link  rel='stylesheet'/>
                    <script src='http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js'></script>
                </head>
                <style>
                    body {
                        margin: 0;
                        padding: 0;
                    }
                
                    #container {
                        position: absolute;
                        top: 0;
                        bottom: 0;
                        width: 100%;
                    }
                
                    .bmgl-widget-credits {
                        display: none
                    }
                </style>
                
                <body>
                <div id='container'></div>
                </body>
                <script>
                    bmgl.Config.HTTP_URL = 'http://ua.bigemap.com:30081/bmsdk/';
                    var viewer = new bmgl.Viewer('container', {
                        mapId: 'bigemap.dc-satellite',
                        requestRenderMode: false,
                        timeline: true,
                        shouldAnimate: true,
                    });
                    var data = [{
                        longitude: 104.02001381,
                        dimension: 30.64743519,
                        height: 100,
                        time: 0
                    }, {
                        longitude: 104.03567791,
                        dimension: 30.63134193,
                        height: 100,
                        time: 50
                    }, {
                        longitude: 104.05533314,
                        dimension: 30.62241554,
                        height: 100,
                        time: 100
                    }, {
                        longitude: 104.07464504,
                        dimension: 30.62275887,
                        height: 100,
                        time: 150
                    }, {
                        longitude: 104.09271240,
                        dimension: 30.62335968,
                        height: 100,
                        time: 200
                    }, {
                        longitude: 104.11241055,
                        dimension: 30.65421581,
                        height: 100,
                        time: 250
                    }, {
                        longitude: 104.11215305,
                        dimension: 30.66318512,
                        height: 100,
                        time: 300
                    }];
                
                    // 起始時間
                    var start = bmgl.JulianDate.fromDate(new Date(2017, 7, 11));
                    // 結束時間
                    var stop = bmgl.JulianDate.addSeconds(start, 300, new bmgl.JulianDate());
                
                    // 設置始時鐘始時間
                    viewer.clock.startTime = start.clone();
                    // 設置時鐘當前時間
                    viewer.clock.currentTime = start.clone();
                    // 設置始終停止時間
                    viewer.clock.stopTime = stop.clone();
                    // 時間速率,數字越大時間過的越快
                    viewer.clock.multiplier = 5;
                    // 時間軸
                
                    viewer.timeline.zoomTo(start, stop);
                    // 循環執行
                    viewer.clock.clockRange = bmgl.ClockRange.LOOP_STOP;
                
                
                    var property = computeFlight(data);
                    // 添加模型
                    var planeModel = viewer.entities.add({
                        // 和時間軸關聯
                        availability: new bmgl.TimeIntervalCollection([new bmgl.TimeInterval({
                            start: start,
                            stop: stop
                        })]),
                        position: property,
                        // 根據所提供的速度計算點
                        orientation: new bmgl.VelocityOrientationProperty(property),
                        // 模型數據
                        model: {
                            uri: '/SampleData/models/CesiumAir/Cesium_Air.glb',
                            minimumPixelSize: 105
                        },
                        path: {
                            resolution: 1,
                            material: new bmgl.PolylineGlowMaterialProperty({
                                glowPower: .1,
                                color: bmgl.Color.YELLOW
                            }),
                            width: 10
                        }
                    });
                
                    viewer.trackedEntity = planeModel
                
                    planeModel.position.setInterpolationOptions({ //設定位置的插值算法
                        interpolationDegree: 0,
                        interpolationAlgorithm: bmgl.LagrangePolynomialApproximation
                    });
                
                    var scene = viewer.scene;
                    var handler = new bmgl.ScreenSpaceEventHandler(scene.canvas);
                    var ellipsoid = scene.globe.ellipsoid; //得到當前三維場景的橢球體
                
                    let di = 1;
                    //添加移動事件
                    viewer.clock.onTick.addEventListener(e => {
                        let postion_xyz = planeModel.position.getValue(e.currentTime)
                
                        var wgs84 = ellipsoid.cartesianToCartographic(postion_xyz);
                        let lng = bmgl.Math.toDegrees(wgs84.longitude)
                        let lat = bmgl.Math.toDegrees(wgs84.latitude)
                        let height = bmgl.Math.toDegrees(wgs84.height)
                
                        let latlng = [lat, lng]
                         if(di == data.length){
                            return;
                        }   
                
                        let dis = distan({dimension: lat, longitude: lng}, data[di])
                        if (dis < 100) {
                            createLabel(di)
                            di += 1
                        }
                
                    })
                
                    function createLabel() {
                        viewer.entities.add({
                            position: bmgl.Cartesian3.fromDegrees(data[di].longitude, data[di].dimension, 100),
                            label: {
                                scale: 1,
                                //貼地
                                // heightReference:bmgl.HeightReference.CLAMP_TO_GROUND,
                                fillColor: bmgl.Color.BLUE,
                                text: 'BIGEMAP',
                            },
                        });
                    }
                
                    function computeFlight(source) {
                        var property = new bmgl.SampledPositionProperty();
                        for (var i = 0; i < source.length; i++) {
                            var time = bmgl.JulianDate.addSeconds(start, source[i].time, new bmgl.JulianDate);
                            var position = bmgl.Cartesian3.fromDegrees(source[i].longitude, source[i].dimension, source[i].height);
                            // 添加位置,和時間對應
                            property.addSample(time, position);
                        }
                        return property;
                    }
                
                    function distan(point1, point2) {
                    //     point2.longitude, point2.dimension, 1
                    //     ;dimension: lat, longitude
                        var point1_xyz=bmgl.Cartesian3.fromDegrees(point1.longitude,point1.dimension,1);
                        var point2_xyz=bmgl.Cartesian3.fromDegrees(point2.longitude,point2.dimension,1);
                        var distance = bmgl.Cartesian3.distance(point1_xyz, point2_xyz);
                
                        return distance;
                
                    }
                
                </script>
                
                </html>
                        
                主站蜘蛛池模板: 黄瓜视频在线观看网址| 三级精品视频在线播放| 爱情岛论坛首页永久入口| 国产免费a级片| 91精品一区二区| 成av免费大片黄在线观看| 亚洲中文字幕在线第六区| 男女一边摸一边脱视频网站| 国产偷国产偷亚洲高清人| 67194线路1(点击进入)| 引诱亲女乱小说| 久久精品99久久香蕉国产| 欧美成人免费香蕉| 免费乱理伦片在线观看影院| 西西4444www大胆无码| 国产精品一区在线观看你懂的| japanesehd熟女熟妇| 日本69式xxx视频| 亚洲中文字幕无码中文| 激情五月激情综合网| 啊轻点灬大ji巴太粗太长了情侣| 黑料不打烊最新地址| 国产精品萌白酱在线观看| japanese中文字幕| 成全高清视频免费观看| 久久精品国产乱子伦| 欧美日韩一区二区三区四区在线观看| 免费极品av一视觉盛宴| 老子午夜我不卡理论影院| 国产成人av在线影院| 124du在线观看| 在线观看国产成人AV片| 一区二区三区免费看| 无码一区二区三区在线观看| 国产尤物在线视频| 91caoprom| 夫妻免费无码V看片| 中文天堂在线视频| 日本在线观看a| 亚洲AV无码国产一区二区三区 | 国产精品视频2020|