var url = window.location.href.substring(0, window.location.href.lastIndexOf('/') + 1);
|
//获取地址栏参数
|
function getUrlParam(name) {
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
|
var r = window.location.search.substr(1).match(reg); //匹配目标参数
|
if (r != null) return encodeURI(r[2]); return null; //返回参数值
|
}
|
|
|
function getRootPath() {
|
var strFullPath = window.document.location.href;
|
var strPath = window.document.location.pathname;
|
var pos = strFullPath.indexOf(strPath);
|
var prePath = strFullPath.substring(0, pos);
|
var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
|
return (prePath + postPath);
|
}
|
|
|
function pageName() {
|
var strUrl = location.href;
|
var arrUrl = strUrl.split("/");
|
var strPage = arrUrl[arrUrl.length - 1];
|
return strPage;
|
}
|
|
|
function GetCmpareTable(type) {
|
var tableNameColor = "";
|
switch (type) {
|
case "DLTD":
|
tableNameColor = "ColorRoad";
|
break;
|
case "DLSD":
|
tableNameColor = "ColorShiDi";
|
break;
|
case "DLDB":
|
tableNameColor = "ColorWater";
|
break;
|
case "DLRL":
|
tableNameColor = "ColorResoursePeople";
|
break;
|
case "DLDZ":
|
tableNameColor = "ColorDestory";
|
break;
|
case "QHLD":
|
case "HHLD":
|
tableNameColor = "ColorQHLD";
|
break;
|
case "QHCD":
|
case "HHCD":
|
tableNameColor = "ColorQHCD";
|
break;
|
case "QHHM":
|
tableNameColor = "ColorQHHM";
|
break;
|
case "QHSD":
|
tableNameColor = "ColorQHSD";
|
break;
|
case "QHDB":
|
tableNameColor = "ColorQHDB";
|
break;
|
default:
|
break;
|
}
|
return tableNameColor;
|
}
|
|
|
//16进制转rgb
|
function colorRgb(sColor) {
|
//十六进制颜色值的正则表达式
|
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
|
// 如果是16进制颜色
|
if (sColor && reg.test(sColor)) {
|
if (sColor.length === 4) {
|
var sColorNew = "#";
|
for (var i = 1; i < 4; i += 1) {
|
sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));
|
}
|
sColor = sColorNew;
|
}
|
//处理六位的颜色值
|
var sColorChange = [];
|
for (var i = 1; i < 7; i += 2) {
|
sColorChange.push(parseInt("0x" + sColor.slice(i, i + 2)));
|
}
|
return sColorChange.join(",");
|
}
|
return sColor;
|
};
|
|
//rgb转16进制
|
function colorRGBtoHex(color) {
|
var rgb = color.split(',');
|
var r = parseInt(rgb[0].split('(')[1]);
|
var g = parseInt(rgb[1]);
|
var b = parseInt(rgb[2].split(')')[0]);
|
var hex = "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
|
return hex;
|
}
|
|
|
|
|
//右中
|
var leftCenterDatlog = function () {
|
return {
|
width: 250,
|
height: 145,
|
top: 520,
|
left: -1,
|
bottom: -1,
|
right: 10
|
}
|
}
|
|
//左下
|
var leftBottomDatlog = function () {
|
return {
|
width: 480,
|
height: 80,
|
top: -1,
|
left: 60,
|
bottom: 20,
|
right: -1
|
}
|
}
|
|
//中间工具栏
|
var centerToolDatlog = function () {
|
return {
|
width: 1000,
|
height: 50,
|
top: 150,
|
left: 490,
|
bottom: -1,
|
right: -1
|
}
|
}
|
|
|
//中间展示栏
|
var centerToolDatlog = function () {
|
return {
|
width: 400,
|
height: 200,
|
top: 300,
|
left: -1,
|
bottom: -1,
|
right: 750
|
}
|
}
|
|
|
|
//右上
|
var rightTopDatlog = function () {
|
return {
|
width: 250,
|
height: 360,
|
top: 160,
|
left: -1,
|
bottom: -1,
|
right: 10
|
}
|
}
|
|
//右下
|
var rightBottomDatlog = function () {
|
return {
|
width: 250,
|
height: 300,
|
top: -1,
|
left: -1,
|
bottom: 20,
|
right: 10
|
}
|
}
|
|
|
|
//创建双击事件
|
var tmpExetent;
|
function OnLButtonUp(Flags, X, Y) {
|
;
|
try {
|
var CursorCoord = sgworld.Window.PixelToWorld(X, Y);
|
var id = CursorCoord.ObjectID;
|
var obj = sgworld.Creator.GetObject(id);
|
if (obj.ObjectType == "33") {
|
;
|
TBAX.closeDialog("中间");
|
TBAX.closeDialog("tool");
|
TBAX.setFullBtnVisibility("a1", "true");
|
TBAX.setFullBtnVisibility("a2", "false");
|
TBAX.setFullBtnVisibility("a3", "true");
|
TBAX.setFullBtnVisibility("a4", "false");
|
switch (localStorage.getItem("type")) {
|
case "大通桥头镇":
|
var tp = obj.Geometry.GeometryType;
|
if (tp == 3) {
|
TBAX.createPmDialogDock("中间", url + "html/MessageHS.html?id=" + id + "&type=datong", 550, 250, 250, -1, -1, 750);
|
}
|
break;
|
case "湟水河":
|
var dd = obj.Geometry.GeometryType;
|
if (dd == 0) {
|
TBAX.createPmDialogDock("中间", url + "html/MessageHS.html?id=" + id + "&type=huangshui", 1500, 550, 150, -1, -1, 150);
|
}
|
break;
|
case "QHHM":
|
setLine(id);
|
var yjfl = obj.FeatureAttributes.GetFeatureAttribute('YJFL').Value;
|
var ejfl = obj.FeatureAttributes.GetFeatureAttribute('EJFL').Value;
|
var sjfl = "";
|
var tbmj = obj.FeatureAttributes.GetFeatureAttribute('TBMJ').Value;
|
TBAX.createPmDialogDock("中间", url + "html/Message.html?Fir=" + yjfl + "&Sen=" + ejfl + "&val=" + tbmj, 400, 150, 300, -1, -1, 750);
|
break;
|
case "QHLD":
|
case "QHCD":
|
case "QHDB":
|
case "QHSD":
|
case "HHCD":
|
case "HHLD":
|
setLine(id);
|
var yjfl = obj.FeatureAttributes.GetFeatureAttribute('YJFL').Value;
|
var ejfl = obj.FeatureAttributes.GetFeatureAttribute('EJFL').Value;
|
var sjfl = obj.FeatureAttributes.GetFeatureAttribute('SJFL').Value;
|
var tbmj = obj.FeatureAttributes.GetFeatureAttribute('TBMJ').Value;
|
TBAX.createPmDialogDock("中间", url + "html/MessageQH.html?Fir=" + yjfl + "&Sen=" + ejfl + "&Tid=" + sjfl + "&val=" + tbmj, 400, 200, 300, -1, -1, 750);
|
break;
|
case "DTJZ":
|
setLine(id);
|
var xm = obj.FeatureAttributes.GetFeatureAttribute("XMC").Value;
|
var jctbbh = obj.FeatureAttributes.GetFeatureAttribute("JCBH").Value;
|
var tblx = obj.FeatureAttributes.GetFeatureAttribute("TBLX").Value;
|
var jcmj = obj.FeatureAttributes.GetFeatureAttribute("JCMJ").Value;
|
var jd = obj.FeatureAttributes.GetFeatureAttribute("LZB").Value;
|
var wd = obj.FeatureAttributes.GetFeatureAttribute("BZB").Value;
|
var parmsStr = "jcmj=" + jcmj + "&tblx=" + tblx + "&jctbbh=" + jctbbh + "&xm=" + xm + "&jd=" + jd + "&wd=" + wd;
|
TBAX.createPmDialogDock("中间", url + "html/MessageJZ.html?" + parmsStr, 750, 150, 350, -1, -1, 750);
|
break;
|
case "TDGF":
|
setLine(id);
|
var tbmj = obj.FeatureAttributes.GetFeatureAttribute('Area').Value;
|
var First = "光伏信息";
|
TBAX.createPmDialogDock("中间", url + "html/Message1.html?Fir=" + First + "&val=" + tbmj, 400, 150, 300, -1, -1, 750);
|
break;
|
case "STBC":
|
setLine(id);
|
var tbmj = obj.FeatureAttributes.GetFeatureAttribute('TBMJ').Value;
|
var First = "冰川及永久积雪";
|
TBAX.createPmDialogDock("中间", url + "html/Message1.html?Fir=" + First + "&val=" + tbmj, 400, 150, 300, -1, -1, 750);
|
break;
|
case "DLZD":
|
setLine(id);
|
var Time = obj.FeatureAttributes.GetFeatureAttribute('时相').Value;
|
var Change = obj.FeatureAttributes.GetFeatureAttribute('变化').Value;
|
var mj = obj.FeatureAttributes.GetFeatureAttribute('面积').Value;
|
var remmark = obj.FeatureAttributes.GetFeatureAttribute('备注').Value;
|
TBAX.createPmDialogDock("中间", url + "html/MessageZD.html?Time=" + Time + "&Change=" + Change + "&mj=" + mj + "&remmark=" + remmark, 400, 150, 300, -1, -1, 750);
|
break;
|
case "DLKC":
|
var KdName = obj.FeatureAttributes.GetFeatureAttribute('KDMC').Value;
|
var KdMC = obj.FeatureAttributes.GetFeatureAttribute('KDDZ').Value;
|
TBAX.createPmDialogDock("中间", url + "html/MessageKC.html?MC=" + KdName + "&WZ=" + KdMC, 400, 150, 300, -1, -1, 750);
|
break;
|
case "DLDZ":
|
var TableColor = GetCmpareTable(localStorage.getItem("type"));
|
var yjfl = obj.FeatureAttributes.GetFeatureAttribute('YJFL').Value;
|
var ejfl = obj.FeatureAttributes.GetFeatureAttribute('EJFL').Value;
|
$.ajax({
|
url: "../../../Ashx/Secondcommon.ashx",
|
type: "post",
|
data: { Action: "GetDLColor", colorTable: TableColor, colorYJ: yjfl, colorEJ: ejfl },
|
dataType: "json",
|
async: false,
|
success: function (result) {
|
var fir = result[0].Name;//一级分类
|
var sen = result[1].Name;//二级分类
|
var mc, wz, gm, cd, qt, dx;
|
if (yjfl == "01") {
|
mc = obj.FeatureAttributes.GetFeatureAttribute('BTMC').Value;
|
wz = obj.FeatureAttributes.GetFeatureAttribute('BTWZ').Value;
|
gm = obj.FeatureAttributes.GetFeatureAttribute('BTGM').Value;
|
cd = obj.FeatureAttributes.GetFeatureAttribute('BTWDCD').Value;
|
qt = obj.FeatureAttributes.GetFeatureAttribute('XPLX').Value;
|
dx = obj.FeatureAttributes.GetFeatureAttribute('WXDX').Value;
|
} else if (yjfl == "02") {
|
mc = obj.FeatureAttributes.GetFeatureAttribute('HPMC').Value;
|
wz = obj.FeatureAttributes.GetFeatureAttribute('HPWZ').Value;
|
gm = obj.FeatureAttributes.GetFeatureAttribute('HPGM').Value;
|
cd = obj.FeatureAttributes.GetFeatureAttribute('HPWDCD').Value;
|
qt = obj.FeatureAttributes.GetFeatureAttribute('QTWH').Value;
|
dx = obj.FeatureAttributes.GetFeatureAttribute('WXDX').Value;
|
} else if (yjfl == "03") {
|
mc = obj.FeatureAttributes.GetFeatureAttribute('NSLMC').Value;
|
wz = obj.FeatureAttributes.GetFeatureAttribute('NSLWZ').Value;
|
gm = obj.FeatureAttributes.GetFeatureAttribute('NSKGM').Value;
|
cd = obj.FeatureAttributes.GetFeatureAttribute('NSLYFCD').Value;
|
qt = obj.FeatureAttributes.GetFeatureAttribute('QTWH').Value;
|
dx = obj.FeatureAttributes.GetFeatureAttribute('WXDX').Value;
|
} else if (yjfl == "04") {
|
mc = obj.FeatureAttributes.GetFeatureAttribute('BWXPMC').Value;
|
wz = obj.FeatureAttributes.GetFeatureAttribute('BWXPWZ').Value;
|
gm = obj.FeatureAttributes.GetFeatureAttribute('PMXT').Value;
|
cd = obj.FeatureAttributes.GetFeatureAttribute('BWXPWDCD').Value;
|
qt = obj.FeatureAttributes.GetFeatureAttribute('QTWH').Value;
|
dx = obj.FeatureAttributes.GetFeatureAttribute('WXDX').Value;
|
}
|
|
var dzmessage = new dldzMessage(fir, sen, mc, wz, gm, cd, qt, dx);
|
TBAX.createPmDialogDock("中间", url + "html/MessageDLDZ.html?message=" + JSON.stringify(dzmessage), 400, 250, 300, -1, -1, 750);
|
}
|
})
|
break;
|
case "DLDB":
|
case "DLTD":
|
case "DLSD":
|
case "DLRL":
|
setLine(id);
|
var TableColor = GetCmpareTable(localStorage.getItem("type"));
|
setLine(id);
|
var yjfl = obj.FeatureAttributes.GetFeatureAttribute('YJFL').Value;
|
var ejfl = "";
|
if (localStorage.getItem("type") == "DLDB") {
|
ejfl = "";
|
} else {
|
ejfl = obj.FeatureAttributes.GetFeatureAttribute('EJFL').Value;
|
}
|
var tbmj = obj.FeatureAttributes.GetFeatureAttribute('TBMJ').Value;
|
$.ajax({
|
url: "../../../Ashx/Secondcommon.ashx",
|
type: "post",
|
data: { Action: "GetDLColor", colorTable: TableColor, colorYJ: yjfl, colorEJ: ejfl },
|
dataType: "json",
|
async: false,
|
success: function (result) {
|
var First = result[0].Name;
|
var Second = "";
|
if (localStorage.getItem("type") == "DLDB") {
|
Second = "";
|
} else {
|
Second = result[1].Name
|
}
|
TBAX.createPmDialogDock("中间", url + "html/Message.html?Fir=" + First + "&Sen=" + Second + "&val=" + tbmj, 400, 150, 300, -1, -1, 750);
|
}
|
})
|
break;
|
case "湟中县滑坡灾害点分布":
|
var name = obj.FeatureAttributes.GetFeatureAttribute('注释文字').Value;
|
var type = obj.FeatureAttributes.GetFeatureAttribute('leixing').Value;
|
TBAX.createPmDialogDock("中间", url + "html/MessageDZ.html?Fir=" + name + "&Sen=" + type, 400, 150, 300, -1, -1, 750);
|
break;
|
case "QLQY":
|
case "QLHD":
|
case "QLCD":
|
case "QLGM":
|
case "QLHT":
|
case "QLJC":
|
case "QLML":
|
case "QLMY":
|
// setLine(id);
|
try {
|
var name = obj.FeatureAttributes.GetFeatureAttribute('重点区名称').Value;
|
var type1 = obj.FeatureAttributes.GetFeatureAttribute('一级分类').Value;
|
var type2 = obj.FeatureAttributes.GetFeatureAttribute('二级分类').Value;
|
var area = obj.FeatureAttributes.GetFeatureAttribute('图斑面积').Value;
|
TBAX.createPmDialogDock("中间", url + "html/MessageQL.html?name=" + name + "&fir=" + type1 + "&Sen=" + type2 + "&area=" + area, 400, 180, 300, -1, -1, 750);
|
} catch (msg) {
|
var name = obj.FeatureAttributes.GetFeatureAttribute('重点区名称').Value;
|
var type1 = obj.FeatureAttributes.GetFeatureAttribute('一级占地').Value;
|
var type2 = obj.FeatureAttributes.GetFeatureAttribute('二级占地').Value;
|
var area = obj.FeatureAttributes.GetFeatureAttribute('图斑面积').Value;
|
TBAX.createPmDialogDock("中间", url + "html/MessageQL.html?name=" + name + "&fir=" + type1 + "&Sen=" + type2 + "&area=" + area, 400, 180, 300, -1, -1, 750);
|
}
|
|
break;
|
default:
|
break;
|
}
|
return true;
|
}
|
else if (obj.ObjectType == "26") {
|
;
|
TBAX.closeDialog("中间");
|
TBAX.closeDialog("tool");
|
TBAX.setFullBtnVisibility("a1", "true");
|
TBAX.setFullBtnVisibility("a2", "false");
|
TBAX.setFullBtnVisibility("a3", "true");
|
TBAX.setFullBtnVisibility("a4", "false");
|
var level = obj.ClientData("level");
|
var parms = obj.ClientData("parms");
|
if (level != "") {
|
$.ajax({
|
url: GisServer+level.split("-")[1] + "/MapServer",
|
// url: "http://118.213.95.33:8092/gisserver/rest/services/" + level.split("-")[1] + "/MapServer",
|
type: "GET",
|
dataType: "jsonp",
|
async: false,
|
success: function (res) {
|
|
var fullExent = res.fullExtent;
|
$.ajax({
|
url: "http://118.213.95.33:8092/gisserver/rest/services/" + level.split("-")[1] + "/MapServer/identify",
|
type: "GET",
|
async: false,
|
dataType: "jsonp",
|
data: {
|
"geometry": CursorCoord.Position.X + "," + CursorCoord.Position.Y,
|
"geometryType": "esriGeometryPoint",
|
"layers": parms == "" ? "all" : "top:" + parms,
|
"tolerance": "1",
|
"mapExtent": fullExent.xmin + "," + fullExent.ymin + "," + fullExent.xmax + "," + fullExent.ymax,
|
"imageDisplay": "600,650,90",
|
"retrunGeometry": "true"
|
},
|
success: function (data) {
|
if (data.results.length != 0) {
|
var wktPoint = "POINT(" + CursorCoord.Position.X + " " + CursorCoord.Position.Y + ")";
|
var pointGeometry = sgworld.Creator.GeometryCreator.CreatePointGeometry(wktPoint);
|
deleteTmpobj(tmpExetent);
|
for (var i = 0; i < data.results.length; i++) {
|
var result = data.results[i];
|
var rings = result.geometry.rings;
|
var ring = createRings(rings);
|
var nLineColor = sgworld.Creator.CreateColor(255, 0, 0, 100)
|
var nFillColor = sgworld.Creator.CreateColor(0, 0, 0, 0);
|
var geo = sgworld.Creator.GeometryCreator.CreatePolygonGeometry(ring.exteriorRing, ring.interiorRing);
|
//var withIn = geo.SpatialRelation.Within(pointGeometry);
|
var withIn = pointGeometry.SpatialRelation.Within(geo);
|
if (withIn) {
|
var polygon = sgworld.Creator.CreatePolygon(geo, nLineColor, nFillColor, 2, "",
|
"wmsExetent");
|
tmpExetent = polygon.id;
|
var yjfl = result.attributes.YJFL;
|
var ejfl = result.attributes.EJFL;
|
var sjfl = result.attributes.SJFL;
|
var tbmj = result.attributes.TBMJ;
|
var TableColor = GetCmpareTable(localStorage.getItem("type"));
|
if (level.indexOf("qh") != -1) {
|
TBAX.createPmDialogDock("中间", url + "html/MessageQH.html?Fir=" + yjfl + "&Sen=" + ejfl + "&Tid=" + sjfl + "&val=" + tbmj, 400, 200, 300, -1, -1, 750);
|
} else {
|
$.ajax({
|
url: "../../../Ashx/Secondcommon.ashx",
|
type: "post",
|
data: { Action: "GetDLColor", colorTable: TableColor, colorYJ: yjfl, colorEJ: ejfl },
|
dataType: "json",
|
async: false,
|
success: function (result) {
|
var fir = result[0].Name;//一级分类
|
var sen;
|
if (result.length>1) {
|
sen = result[1].Name;//二级分类
|
} else {
|
sen = "无";
|
}
|
TBAX.createPmDialogDock("中间", url + "html/MessageDL.html?Fir=" + fir + "&Sen=" + sen + "&Tid=" + sjfl + "&val=" + tbmj, 400, 200, 300, -1, -1, 750);
|
|
}
|
});
|
}
|
break;
|
}
|
//deleteTmpobj(tmpExetent);
|
}
|
}
|
}
|
});
|
|
},
|
Error: function () {
|
|
}
|
|
|
|
});
|
var params = obj.ClientData("parms");
|
}
|
return false;
|
}
|
try {
|
if (temID == null) {
|
var obj = sgworld.ProjectTree.GetObject(id);
|
var poly = sgworld.Creator.CreatePolygon(obj.Geometry, lineColor, fillColor, 2, '', '');
|
temID = poly.ID;
|
} else {
|
sgworld.ProjectTree.DeleteItem(temID);
|
temID = null;
|
}
|
} catch (e) {
|
temID = null;
|
}
|
} catch (e) {
|
try {
|
if (temID == null) {
|
var obj = sgworld.ProjectTree.GetObject(id);
|
var poly = sgworld.Creator.CreatePolygon(obj.Geometry, lineColor, fillColor, 2, '', '');
|
temID = poly.ID;
|
} else {
|
sgworld.ProjectTree.DeleteItem(temID);
|
temID = null;
|
}
|
} catch (e) {
|
temID = null;
|
}
|
return false;
|
}
|
}
|
|
//根据数组创建多边形环
|
function deleteTmpobj(id) {
|
try {
|
sgworld.ProjectTree.DeleteItem(id);
|
} catch (e) { }
|
}
|
function createRings(arr) {
|
let rings = {
|
exteriorRing: [],
|
interiorRing: []
|
};
|
if (arr.length == 1) {
|
var tmpArr = arr[0];
|
for (let i = 0; i < tmpArr.length; i++) {
|
rings.exteriorRing.push(tmpArr[i][0], tmpArr[i][1], 0);
|
}
|
return rings;
|
} else if (arr.length > 1) {
|
for (let i = 0; i < arr.length; i++) {
|
if (i == 0) {
|
for (let j = 0; j < arr[i].length; j++) {
|
rings.exteriorRing.push(arr[i][j][0], arr[i][j][1], 0);
|
}
|
} else {
|
var tmp = [];
|
for (let m = 0; m < arr[i].length; m++) {
|
tmp.push(arr[i][m][0], arr[i][m][1], 0);
|
}
|
rings.interiorRing[i - 1] = tmp;
|
}
|
}
|
return rings;
|
}
|
}
|
|
//制作边框
|
var temID = null;
|
function setLine(id) {
|
var lineColor = sgworld.Creator.CreateColor(253, 255, 0, 0);
|
var fillColor = sgworld.Creator.CreateColor(253, 255, 0, 1);
|
if (temID == null) {
|
var obj = sgworld.ProjectTree.GetObject(id);
|
var poly = sgworld.Creator.CreatePolygon(obj.Geometry, lineColor, fillColor, 2, '', '');
|
temID = poly.ID;
|
} else {
|
try {
|
sgworld.ProjectTree.DeleteItem(temID);
|
} catch (e) { }
|
var obj = sgworld.ProjectTree.GetObject(id);
|
var poly = sgworld.Creator.CreatePolygon(obj.Geometry, lineColor, fillColor, 2, '', 'fanweibiankuangxian');
|
temID = poly.ID;
|
}
|
}
|
|
var dldzMessage = function (fir, sen, mc, wz, gm, cd, qt, dx) {
|
return {
|
fir: fir,
|
sen: sen,
|
mc: mc,
|
wz: wz,
|
gm: gm,
|
cd: cd,
|
qt: qt,
|
dx: dx
|
}
|
}
|
|
|
|
|
//删除打开的影像
|
function DeleteYX() {
|
let WMSID = sgworld.ProjectTree.FindItem("WMSServices");
|
if (WMSID == "") return;
|
sgworld.ProjectTree.DeleteItem(WMSID);
|
|
}
|
|
//删除边框线
|
|
function DeletePoyline() {
|
|
let WMSID = sgworld.ProjectTree.FindItem("wmsExetent");
|
if (WMSID == "") return;
|
sgworld.ProjectTree.DeleteItem(WMSID);
|
temID = null;
|
|
}
|