var scene; var sceneControl; //var sceneUrl = "http://10.2.65.242:8090/iserver/services/3D-wetland/rest/realspace"; var sceneUrl = "http://59.55.128.156:8090/iserver/services/3D-wetland/rest/realspace"; //var sceneUrl = null; // var data_url = "http://10.2.65.242:8090/iserver/services/data-ZHSD/rest/data"; //数据服务地址 var data_url = "http://10.2.65.242:8090/iserver/services/data-wetland/rest/data"; //数据服务地址 //flyManager1沿线飞行类变量声明 var flyManager1 = null; var flyRoutes1 = null; var flyRoute1 = null; var routeLoaded1 = false; var playRate1 = 1; //flyManager2飞行定制类变量声明 var routeLoaded2 = false; var RouteStops2 = null; var flystop_p = null; //站点修改 var fly_judge = true; var it = -1; $(document).ready(function () { try { //初始化三维场景控件实例,参数为包含控件的HTML元素 sceneControl = new SuperMap.Web.UI.Controls.SceneControl($get("sceneControlDiv"), initCallback, failedCallback); } catch (e) { //若没有安装插件,则抛出该异常 if (e.name == SuperMap.Web.Realspace.ExceptionName.PlugInNotInstalled) { var url = "http://59.55.128.156:8000/GZSWURL/otherURL/Setup.exe"; document.write("未检测到 SuperMap iClient3D for Plugin 插件,请单击此处下载并安装插件。"); return; } //若使用非IE浏览器,则抛出该异常 else if (e.name == SuperMap.Web.Realspace.ExceptionName.BrowserNotSupport) { document.write("
SuperMap iClient3D for Plugin 目前仅支持 InternetExplorer 浏览器,请更换浏览器后重新尝试加载本页面。
"); return; } //抛出其他异常 else { alert("其他异常"); } } }); //控件初始化完成后的回调函数,初始化完成之后才能进行数据加载 function initCallback() { //获取Realspace控件的场景,控件和场景是一对一的捆绑关系 scene = sceneControl.get_scene(); //获取FlyManager对象 flyManager1 = scene.get_flyManager(); //指定场景的服务器地址 var sceneAddress = sceneUrl; //指定场景名称 var sceneServicesList = sceneControl.get_sceneServicesList(); var bLoad = sceneServicesList.load(sceneAddress); if (bLoad) { var sceneServiceInfo = sceneServicesList.get_item(0); sceneName = sceneServiceInfo.get_name(); } else { alert("Realspace initialized failed!"); } //打开场景 LoadLayers(sceneAddress, sceneName); scene.open(sceneAddress, sceneName); Initialize_layer(); ////添加场景点击事件 sceneControl.addEvent("objectSelected", objectSelected); sceneControl.addEvent("bubbleInitialize", bubbleInitialize); sceneControl.addEvent("bubbleResize", bubbleResize); sceneControl.addEvent("bubbleClose", bubbleClose); } //加载图层 function LoadLayers(sceneAddress, sceneName) { //从选中的场景中获取图层列表 var layer3DServicesList = sceneControl.get_layer3DServicesList(); //判断是否获取指定场景的图层集合服务列表 var bLayersLoad = layer3DServicesList.load(sceneAddress, sceneName); } function Initialize_layer() { //添加在线天地图影像 // var tianditu_img = new SuperMap.Web.Realspace.Layer3DTianditu("http://t0.tianditu.com/img_c/wmts", "img", "t0.tianditu.com_WMTS", 96, SuperMap.Web.Realspace.ImageType.JPGPNG); //var cc = scene.get_layer3Ds().insert(tianditu_img, 25); //var tianditu_cva = new SuperMap.Web.Realspace.Layer3DTianditu("http://t0.tianditu.com/cva_c/wmts", "cva", "cva", 96, SuperMap.Web.Realspace.ImageType.JPGPNG); // var aa = scene.get_layer3Ds().insert(tianditu_cva, 10); //tianditu_cva.set_isVisible(false); //var tianditu_vec = new SuperMap.Web.Realspace.Layer3DTianditu("http://t0.tianditu.com/vec_c/wmts", "vec", "t0.tianditu.com_WMTS", 96, SuperMap.Web.Realspace.ImageType.JPGPNG); //tianditu_vec.set_isBackgroundTransparent(true); //var ss = scene.get_layer3Ds().insert(tianditu_vec, 11); //tianditu_vec.set_isVisible(false); var addvec = $('#Addtianditu').contents().find('#vec_layer'); $(addvec).click(function () { if (tianditu_img.get_isVisible() == true) { $('#Addtianditu').contents().find('#vec_layer').css({ "background": "url(../images/layer_img/sl.png) no-repeat" }); $('#Addtianditu').contents().find('#vec_layer dt').text("地图"); tianditu_img.set_isVisible(false); tianditu_vec.set_isVisible(true); // return; } else { tianditu_img.set_isVisible(true); tianditu_vec.set_isVisible(false); $('#Addtianditu').contents().find('#vec_layer').css({ "background": "url(../images/layer_img/img.png) no-repeat" }); $('#Addtianditu').contents().find('#vec_layer dt').text("影像"); } }); $('#Addtianditu').contents().find('#name_layer').change(function () { if ($(this).is(':checked')) { tianditu_cva.set_isVisible(true); } else { tianditu_cva.set_isVisible(false); } }); //定义图层管理树状结构 $.fn.zTree.init($("#treeDemo"), setting, zNodes); //设置初始选择状态 set_InitialChecked(); /* var wmsURL2 = "http://59.55.128.156:8082/arcgis/services/ZYSD/MapServer/WMSServer" var layer3DWMS2 = scene.get_layer3Ds().addOGC(wmsURL2, "", SuperMap.Web.Realspace.Layer3DType.WMS, true); layer3DWMS2.set_isBackgroundTransparent(true); //将WMS图层添加到三维场景中 var wmsURL1 = "http://59.55.128.156:8082/arcgis/services/SDGY/MapServer/WMSServer" var layer3DWMS1 = scene.get_layer3Ds().addOGC(wmsURL1, "", SuperMap.Web.Realspace.Layer3DType.WMS, true); layer3DWMS1.set_isBackgroundTransparent(true); */ //var resultVar = layer3DWMS1.moveToTop(layer3DWMS1.indexOf()); scene.refresh(); } function AddstkTerrianLayer() { scene = sceneControl.get_scene(); //获取地形图层集合 var terrainLayers = scene.get_terrainLayers(); var layer_ter = terrainLayers.addSTKTerrain("https://assets.agi.com/stk-terrain/world", "stkTerrain"); } //控件初始化失败后的回调函数 function failedCallback() { alert("Realspace initialized failed!"); } function p1_close() { document.getElementById("play1").disabled = "disabled"; document.getElementById("stop1").disabled = "disabled"; document.getElementById("speed-1").disabled = "disabled"; document.getElementById("speed-2").disabled = "disabled"; } function p1_open() { document.getElementById("play1").disabled = false; document.getElementById("stop1").disabled = false; document.getElementById("speed-1").disabled = false; document.getElementById("speed-2").disabled = false; } function p2_close() { document.getElementById("play2").disabled = "disabled"; document.getElementById("pause2").disabled = "disabled"; document.getElementById("stop2").disabled = "disabled"; } function p2_open() { document.getElementById("play2").disabled = false; document.getElementById("pause2").disabled = false; document.getElementById("stop2").disabled = false; } /***********************************以下沿线飞行函数**************************************/ //沿线飞行--获取设置飞行路线 //获取飞行文件路径 function getFilePath() { return document.getElementById(x).value; } function fromFile() { flyManager1 = scene.get_flyManager(); if (flyManager1 != null) { if (flyManager1.get_flyStatus() == SuperMap.Web.Realspace.FlyStatus.FSTOP) { //获取飞行路线 flyRoutes1 = flyManager1.get_routes(); if (flyRoutes1 != null) { var filePath = $("#filePath").children('option:selected').val(); //这就是selected的值 if (flyRoutes1.fromFile(filePath) == false) { return false; } flyRoute1 = flyRoutes1.get_currentRoute(); playRate1 = 1; flyManager1.set_playRate(playRate1); routeLoaded1 = true; } } } else { return false; } } //function fromFile(files) { // var filepath = document.getElementById("openfile").value; // //获取飞行路线集合类对象,导入飞行路线文件 // var fpf_file = scene.get_flyManager().get_routes().fromFile(filepath); // if(fpf_file) { // flyRoutes1 = flyManager1.get_routes(); // flyRoute1 = flyRoutes1.get_currentRoute(); // // playRate1 = 1; // flyManager1.set_playRate(playRate1); // //设置飞行类对象的属性 // // document.getElementById("speed").value = flyRoute1.get_speed(); // // document.getElementById("time").value = flyManager1.get_duration(); // // document.getElementById("altitudeFixed").checked = flyRoute1.get_isAltitudeFixed(); // // document.getElementById("headingFixed").checked = flyRoute1.get_isHeadingFixed(); // // document.getElementById("tiltFixed").checked = flyRoute1.get_isTiltFixed(); // // document.getElementById("flyingLoop").checked = flyRoute1.get_isFlyingLoop(); // // document.getElementById("linesVisible").checked = flyRoute1.get_isLinesVisible(); // // document.getElementById("stopsVisible").checked = flyRoute1.get_isStopsVisible(); // routeLoaded1 = true; // } // //} //沿线飞行时间控制 $(function () { var filePathSelect = document.getElementById("filePath"); var filePathOptions = filePathSelect.options; var option1 = new Option("江西省重要湿地", "http://59.55.128.156:81/JXNU_Virtual/Virtual_Resources/wetland/江西省重要湿地.fpf"); var option2 = new Option("江西省湿地公园", "http://59.55.128.156:81/JXNU_Virtual/Virtual_Resources/wetland/江西省湿地公园.fpf"); var option3 = new Option("鄱阳湖国家湿地公园", "http://59.55.128.156:81/JXNU_Virtual/Virtual_Resources/wetland/鄱阳湖国家湿地公园.fpf"); var option4 = new Option("青山湖重要湿地", "http://59.55.128.156:81/JXNU_Virtual/Virtual_Resources/wetland/青山湖重要湿地.fpf"); //var option3 = new Option("湿地公园飞行路线", "http://59.55.128.155:81/JXNU_Virtual/Virtual_Resources/LY_FlyRoute1/山水之旅.fpf"); filePathOptions.add(option1); filePathOptions.add(option2); filePathOptions.add(option3); filePathOptions.add(option4); //filePathOptions.add(option3); $(".three-paly input").click(function (e) { var name = e.target.attributes.data.value; fromFile(); switch (name) { case "播放": //判断路径是否已加载。 if (routeLoaded1) { //重新获取速度和时长 // flyRoute1.get_speed(); // document.getElementById("time").value = flyManager1.get_duration(); if (flyManager1 == null && flyRoutes1 == null && flyManager1.get_flyStatus() == SuperMap.Web.Realspace.FlyStatus.FPLAY) { return; } else { flyManager1.play(); } p2_close(); // p1_open(); } break; case "停止": if (flyManager1 == null) return; flyManager1.stop(); break; case "加速": if (routeLoaded1) { if (flyRoutes1.get_count() == 0) { return; } if (playRate1 == 100) { return; } if (playRate1 < 1) { playRate1 = Number(playRate1) + 0.1; if (playRate1 == 1) { playRate1 = playRate1.toFixed(0); } else { playRate1 = playRate1.toFixed(1); } } else { playRate1 = Number(playRate1) + 1; playRate1 = playRate1.toFixed(0); } flyManager1.set_playRate(playRate1); // alert(flyManager1.get_playRate()); } break; case "减速": if (routeLoaded1) { if (flyRoutes1.get_count() == 0) { return; } if (playRate1 == 0.1) { return; } if (playRate1 <= 1) { playRate1 = playRate1 - 0.1; playRate1 = playRate1.toFixed(1); } else { playRate1 = playRate1 - 1; playRate1 = playRate1.toFixed(0); } flyManager1.set_playRate(playRate1); } break; default: break; } }); }); /***********************************以上沿线飞行函数**************************************/ /***********************************以下飞行定制函数**************************************/ //创建xml格式飞行路线 function createXml() { var text = "