var bubble = null; //地物被选择事件 //开始查询 /**************************** 执行地物被选择事件 start ****************************/ function objectSelected(selection3Ds) { //获取被选择的图层 var layer3D = selection3Ds[0].get_layer3D(); var layername = layer3D.get_name(); //三维图层数据类型 var layer3DType = layer3D.get_dataType(); var id = "infoWindow"; var bubblename = "湿地信息"; var src; //获取场景的坐标 var objId = selection3Ds[0].get_item(0); var objInLayer3D = selection3Ds[0].get_layer3D(); var featrue3D = objInLayer3D.findFeature3DByID(objId); var point3D = null; if(featrue3D) { //以模型对象中心点作为锚点 point3D = new SuperMap.Web.Core.Point3D(featrue3D.get_geometry().get_position().x, featrue3D.get_geometry().get_position().y, featrue3D.get_geometry().get_boundingBox().get_center().get_z()); } //根据图层类型名称判断弹出类型 switch(layer3DType) { //点数据类型,对应值为1。 case 1: if(layername == "湿地公园点@湿地数据") { bubblename = "湿地公园点"; src = "Files/wetPoint.html"; refreshIframe(id, src, layer3D, change_SW_Iframe); createBubble(point3D, bubblename); } break; case 5 : if(layername == "省级湿地公园@湿地数据" || layername == "国家湿地公园@湿地数据") { bubblename = "湿地公园"; src = "Files/wetinfo.html"; refreshIframe(id, src, layer3D, change_GY_Iframe); createBubble(point3D, bubblename); } else if(layername == "自然保护区界@湿地数据" ){ bubblename = "自然保护区"; src = "Files/protect.html"; refreshIframe(id, src, layer3D, change_BHQ_Iframe); createBubble(point3D, bubblename); } else if(layername == "江西省重要湿地面@重要湿地" ){ bubblename = "重要湿地"; src = "Files/wetimportant.html"; refreshIframe(id, src, layer3D, change_ZYSD_Iframe); createBubble(point3D, bubblename); } break; } } //气泡初始化事件 function bubbleInitialize(bubble) { try { var frameInfo = document.getElementById("infoWindow"); //frameInfo.src = infoPage; //frameInfo.contentDocument.getElementById("file").innerText = ""; //frameInfo.contentDocument.getElementById("file").innerHTML = fieldInfo; frameInfo.frameborder = 0; frameInfo.style.marginwidth = 0; frameInfo.style.marginheight = 0; frameInfo.style.width = bubble.get_clientWidth() + "px"; frameInfo.style.height = bubble.get_clientHeight() + "px"; frameInfo.style.left = bubble.get_clientLeft() + sceneControl.get_controlOffsetX() + 0.5 + "px"; frameInfo.style.top = bubble.get_clientTop() + sceneControl.get_controlOffsetY() - 95 + "px"; frameInfo.style.display = "block"; //frameInfo.contentWindow.location.reload(true); } catch(e) { alert("Failed to initialize bubble"); } } function createBubble(pos, bubblename) { try { bubble = new SuperMap.Web.Realspace.Bubble(); bubble.set_pointer(pos); //设置气泡标题内容 //bubble.set_title(bubblename); var textStyle3D = new SuperMap.Web.Core.TextStyle3D(); //设置气泡标题对齐方式 textStyle3D.set_alignment(0); textStyle3D.set_fontName("黑体"); textStyle3D.set_isSizeFixed(true); textStyle3D.set_fontScale(0.7); // textStyle3D.set_backOpaque(true); textStyle3D.set_foreColor(new SuperMap.Web.Core.Color(46, 147, 233, 0)); bubble.set_titleTextStyle3D(textStyle3D); //设置气泡边框宽度 bubble.set_frameWidth(2); //设置气泡圆角程度 bubble.set_roundQuality(5); bubble.set_backColor(new SuperMap.Web.Core.Color(255, 255, 255, 255)); bubble.set_frameColor(new SuperMap.Web.Core.Color(255, 255, 230, 255)); bubble.set_height(220); bubble.set_width(290); sceneControl.get_bubbles().removeAll(); sceneControl.get_bubbles().add(bubble); } catch(e) { alert("创建气泡失败"); } } //气泡移动事件 function bubbleResize(bubble) { try { var frameInfo = document.getElementById("infoWindow"); //frameInfo.src = infoPage; frameInfo.style.width = bubble.get_clientWidth() + "px"; frameInfo.style.height = bubble.get_clientHeight() + "px"; frameInfo.style.left = bubble.get_clientLeft() + sceneControl.get_controlOffsetX() + 0.5 + "px"; frameInfo.style.top = bubble.get_clientTop() + sceneControl.get_controlOffsetY() - 95 + "px"; frameInfo.style.display = "block"; } catch(e) { alert("Failed to resize bubble"); } } //气泡关闭事件 function bubbleClose(bubble) { try { var frameInfo = document.getElementById("infoWindow"); frameInfo.style.display = "none"; //var selection3Ds = scene.findSelection3Ds(true); //if(selection3Ds.length > 0) { // for(var i = 0; i <= selection3Ds.length - 1; i++) { // selection3Ds[i].removeAll(); // } //} } catch(e) { alert("Failed to close bubble"); } } //通用刷新弹窗页面函数 function refreshIframe(id, src, layer, callback) { var iframe = document.getElementById(id); $("#" + id).attr("src", src); if(iframe.attachEvent) { iframe.attachEvent("onreadystatechange", function() { if(iframe.readyState === "complete" || iframe.readyState == "loaded") { iframe.detachEvent("onreadystatechange", arguments.callee); //这里是回调函数 callback(id, layer); } }); } else { iframe.addEventListener("load", function() { this.removeEventListener("load", arguments.call, false); //这里是回调函数 callback(id, layer); }, false); } } //公园点 function change_SW_Iframe(id, layer3D) { var STNM = layer3D.getFieldValue("公园名"); var ZL = layer3D.getFieldValue("面积"); $("#" + id).contents().find(".list ul li:eq(0) input").val(STNM); $("#" + id).contents().find(".list ul li:eq(1) input").val(ZL); } //保护区 function change_BHQ_Iframe(id, layer3D) { var SKMC = layer3D.getFieldValue("自然保"); var X = layer3D.getFieldValue("面积"); $("#" + id).contents().find(".list ul li:eq(0) input").val(SKMC); $("#" + id).contents().find(".list ul li:eq(1) input").val(X); } //湿地公园信息填充 function change_GY_Iframe(id, layer3D) { var HLMC = layer3D.getFieldValue("公园名"); var HMBZ = layer3D.getFieldValue("面积"); $("#" + id).contents().find(".list ul li:eq(0) input").val(HLMC); $("#" + id).contents().find(".list ul li:eq(1) input").val(HMBZ); } //重要湿地 function change_ZYSD_Iframe(id, layer3D) { var HLMC = layer3D.getFieldValue("SDMC"); var HMBZ = layer3D.getFieldValue("GLDW"); var HLDM = layer3D.getFieldValue("BHXZ"); var HLJB = layer3D.getFieldValue("AREA"); $("#" + id).contents().find(".list ul li:eq(0) input").val(HLMC); $("#" + id).contents().find(".list ul li:eq(1) input").val(HMBZ); $("#" + id).contents().find(".list ul li:eq(2) input").val(HLDM); $("#" + id).contents().find(".list ul li:eq(3) input").val(HLJB); } //获取全景点信息函数 function qj_view(fieldName, fieldURL) { if(document.getElementById("360view_brg").style.display == "none") { document.getElementById("360view_brg").style.display = "block"; } else {} //获取全景网址 //var view_url = "http://" + fieldURL; fieldURL = fieldURL.substr(0, 7).toLowerCase() == "http://" ? fieldURL : "http://" + fieldURL; $('#360view_brg').contents().find('#360view_html').attr("src", fieldURL); $('#360view_brg').contents().find('#Qj_name').html(fieldName); //全景页面关闭按钮事件 var view_brg = $("#360view_brg"); var close = $('#360view_brg').contents().find('#img1'); $(close).click(function() { if(view_brg.is(':visible')) { view_brg.hide(); fieldURL = null; $('#360view_brg').contents().find('#360view_html').attr("src", fieldURL); } }); //全景界面全屏按钮事件 var full = $('#360view_brg').contents().find('#full'); //先对之前执行的点击事件进行解绑,避免事件重复执行 $(full).unbind('click').click(function() { if($(view_brg).css('bottom') == '0px') { view_brg.css({ "bottom": "23px", "right": "60px", "height": "326px", "width": "402px" }); full.attr("title", "最大化"); } else { view_brg.css({ "bottom": "0px", "right": "0px", "height": "100%", "width": "100%" }); full.attr("title", "还原"); } }); }