首页 / 浏览问题 / 三维GIS / 问题详情
有人能讲一下webgl上的全球实时航线示范程序吗
12EXP 2019年10月10日

这是SuperMap icient3d For WebGl上的全球实时航线示范程序 后面颜色部分的数据 有点看不懂指点一下
       var url = './SampleData/models/AirPlane.s3m';
       var layer = new Cesium.DynamicLayer3D(scene.context,url);
       scene.primitives.add(layer);
       var airport;
       var dir;
       var fn={};
       var arr = [];
       var objects = [];
       var index;
       var flag=0;
       var timeInterval;
       var selectDiv  = document.getElementById("selectDiv");
       var dirDiv=document.getElementById("isStart");
       var cross=document.getElementById("Cross-border");
       $('#loadingbar').remove();
       $('#mytool').show();
       $('#toolbar').show();
       Cesium.loadJson('./data/GlobalFlight.json').then(function(jsonData) {
            var behind_border=[];
            document.getElementById("global").onclick = function() {

                layer.group[url].stateList.length = 0; //?????

                index=1;
                viewer.entities.removeAll();
                if(cross.selectedIndex==1){
                    createPolyLine(jsonData,"all");
                }
                else if(cross.selectedIndex==0){
                    for(var c=0;c<jsonData.length;c++){
                        var a=jsonData[c][0];
                        var b=jsonData[c][1];
                        if(geoCoordMap[a]&&geoCoordMap[b]&&geoCoordMap[a][4]==geoCoordMap[b][4]){
                        behind_border.push(jsonData[c]);
//这个geoCoordMap是什么 这里做什么的
                        }
                    }
                    createPolyLine(behind_border,"all");
                }
            }

          //后面卡住了能帮简单讲一下这个例子思路吗

          //范例链接:http://support.supermap.com.cn:8090/webgl/examples/editor.html#airlines

1个回答

您好,layer.group[url].stateList.length = 0;这句代码是清空动态图层中实例对象;geoCoordMap是一个数组,里面存储了机场坐标信息,这段代码是通过jsonData去匹配坐标信息,获取航线的起止坐标点,利用起止点坐标通过addBezier()方法构造出航线,返回的是点数组,最后通过动态图层根据点坐标刷新航班位置。
852EXP 2019年10月10日
...