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", "还原");
|
}
|
});
|
}
|