📄 mainqg.js
字号:
//广东省县市坐标与行政区划代码信息
var gdareainfo=[
113.218,25.2289,"440281","乐昌市",
113.78,25.1449,"440224","仁化县",
114.339,25.1839,"440282","南雄市",
112.453,24.9054,"441882","连州市",
114.143,24.8319,"440222","始兴县",
113.174,24.8006,"440232","乳源瑶族自治县",
113.546,24.7746,"440200","韶关市",
115.928,24.6671,"441426","平远县",
112.697,24.447,"441823","阳山县",
112.268,24.6136,"441826","连南瑶族自治县",
116.22,24.6517,"441427","蕉岭县",
112.046,24.5154,"441825","连山壮族瑶族自治县",
116.171,24.3575,"441421","梅县",
115.326,24.3137,"441622","龙川县",
114.982,24.4322,"441624","和平县",
116.626,24.3437,"441422","大埔县",
113.988,24.3988,"440229","翁源县",
115.759,24.2475,"441481","兴宁市",
114.589,24.3425,"441623","连平县",
113.338,24.1964,"441881","英德市",
116.102,24.2744,"441400","梅州市",
112.195,23.9327,"441224","怀集县",
112.962,23.9307,"441827","清新县",
114.16,24.0795,"440233","新丰县",
114.853,23.9629,"441625","东源县",
116.943,23.8531,"445122","饶平县",
116.275,23.9175,"441423","丰顺县",
115.669,23.7808,"441424","五华县",
113.552,23.8888,"441821","佛冈县",
116.759,23.7127,"445121","潮安县",
111.694,23.5962,"441225","封开县",
112.397,23.6702,"441223","广宁县",
114.118,23.6462,"441324","龙门县",
113.669,23.6487,"440184","从化市",
114.652,23.6922,"441600","河源市",
113.131,23.6177,"441800","清远市",
115.062,23.4701,"441621","紫金县",
116.554,23.5765,"445221","揭东县",
116.668,23.6934,"445100","潮州市",
114.271,23.3763,"441322","博罗县",
112.643,23.4495,"441284","四会市",
115.901,23.4851,"445222","揭西县",
116.583,23.3388,"440500","汕头市",
113.744,23.3502,"440183","增城市",
113.217,23.4307,"440114","花都区",
116.37,23.5214,"445200","揭阳市",
112.891,23.108,"440600","佛山市",
117.13,23.3702,"440523","南澳县",
116.042,23.3122,"445281","普宁市",
111.902,23.288,"441226","德庆县",
115.624,23.2917,"441523","陆河县",
112.756,23.1015,"441283","高要市",
113.368,23.2701,"440111","白云区",
111.632,23.0586,"445322","郁南县",
112.592,23.1663,"441200","肇庆市",
113.36,23.1718,"440106","天河区",
115.281,22.9641,"441521","海丰县",
116.271,23.0153,"445224","惠来县",
113.484,23.0953,"440112","黄埔区",
115.853,22.9271,"441581","陆丰市",
113.24,23.1299,"440103","荔湾区",
113.26,23.1294,"440104","越秀区",
113.3,23.1272,"440102","东山区",
113.885,22.898,"441900","东莞市",
111.951,22.8497,"445323","云安县",
112.146,22.9655,"445300","云浮市",
113.227,23.0818,"440107","芳村区",
113.331,23.0788,"440105","海珠区",
113.495,22.7965,"440113","番禺区",
111.47,22.6894,"445381","罗定市",
115.418,22.7619,"441500","汕尾市",
112.763,22.662,"440784","鹤山市",
112.244,22.6087,"445321","新兴县",
113.03,22.4386,"440700","江门市",
113.425,22.4764,"442000","中山市",
111.184,22.4464,"440983","信宜市",
111.722,22.2597,"441781","阳春市",
112.526,22.311,"440783","开平市",
112.266,22.2027,"440785","恩平市",
112.679,21.9944,"440781","台山市",
111.001,22.0079,"440981","高州市",
112.041,21.9699,"441723","阳东县",
110.54,21.8416,"440982","化州市",
111.215,21.6637,"440923","电白县",
112.003,21.7329,"441700","阳江市",
110.13,21.6612,"440881","廉江市",
111.599,21.6869,"441721","阳西县",
110.977,21.5809,"440900","茂名市",
110.781,21.4186,"440883","吴川市",
110.03,21.2508,"440823","遂溪县",
110.417,21.1434,"440800","湛江市",
110.054,20.796,"440882","雷州市",
116.824,20.7034,"446000","东沙群岛",
110.209,20.4242,"440825","徐闻县",
114.458,22.8943,"441300","惠州市",
114.829,22.9424,"441323","惠东县",
114.076,22.6029,"440300","深圳市",
113.735,22.1174,"440400","珠海市"
];
var map;
var untiled;
var tiled;
function setHTML(response) {
document.getElementById('nodelist').innerHTML = response.responseText.replace("'","");
};
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 5;
OpenLayers.DOTS_PER_INCH = 25.4 / 0.28;
/*
*/
function init_gis(gisctx, deleteEnable) {
var bounds = new OpenLayers.Bounds(
70.36501693725586, 3.9566769361495973,
138.16777420043945, 55.919890427589415
);
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 0.2648545205593109,
projection: "EPSG:4326",
units: 'degrees'
};
map = new OpenLayers.Map('map', options);
// setup tiled layer
qgditu = new OpenLayers.Layer.WMS(
"zgditu:bou2_4p - Tiled", "/geoserver/wms",
{
width: '640',
srs: 'EPSG:4326',
layers: 'zgditu:bou2_4p',
height: '480',
styles: '',
format: 'image/png',
tiled: 'true',
tilesOrigin : "70.36501693725586,3.9566769361495973"
},
{buffer: 0}
);
map.addLayers([qgditu]);
// setup controls and initial zooms
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.Scale($('scale')));
map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.OverviewMap());
//markers
markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
map.zoomToExtent(bounds);
// support GetFeatureInfo
map.events.register('click', map, function (e) {
document.getElementById('nodelist').innerHTML = "Loading... please wait...";
var url = map.layers[0].getFullRequestString(
{
REQUEST: "GetFeatureInfo",
EXCEPTIONS: "application/vnd.ogc.se_xml",
BBOX: map.getExtent().toBBOX(),
X: e.xy.x,
Y: e.xy.y,
INFO_FORMAT: 'text/xml',
QUERY_LAYERS: map.layers[0].params.LAYERS,
FEATURE_COUNT: 50,
srs: 'EPSG:4326',
layers: 'zgditu:bou2_4p',
styles: '',
WIDTH: map.size.w,
HEIGHT: map.size.h
},
"/geoserver/wms"
);
var selectPoint = function(varresponse){
var rs=varresponse.responseText;
// alert(rs);
if(rs.indexOf("BOU2")<1){ //alert("no info");
return ;}
//alert("rs是 "+rs);
rs=rs.substr(rs.indexOf("BOU2_4M_ID = ")+13);
rs=rs.substr(0,2);//windows 部署tomcat
//alert("前两位"+rs);
//rs=rs.substr(0,rs.indexOf("\n")); //linux部署tomcat
var adminCode=rs;
//alert("地区号是 "+adminCode);
if(adminCode!="44"){
alert("目前不支持选择广东省以外的地图!");
}else{
window.location.href="/was/alarmGraph.do?method=list&ec_s_id=desc&maptype=gd";
}
}
OpenLayers.loadURL(url, '', this, selectPoint, setHTML);
OpenLayers.Event.stop(e);
});
}
/*
标记地区
参数 deleteEnable 是否允许删除
adminCode 行政区号,6位长
alarmLevel 预警级别 1:红色警报 2:橙色警报 3:黄色警报 4:蓝色警报 5:其他警报
alarmMsg 预警消息
*/
function lzbmarkArea(deleteEnable, adminCode,alarmLevel,alarmMsg){
var isSelected=0;
var lonLatx=112;
var lonLaty=22.5;
var adminName="";
if(!alarmMsg){alarmMsg=""};
for(var i=0;i<=gdareainfo.length;i++){
if(gdareainfo[i]==adminCode){
lonLatx=gdareainfo[i-2];
lonLaty=gdareainfo[i-1]+0.5;
adminName=gdareainfo[i+1];
}
}
if(adminName=="") {
//alert('no info ');
return;
};
/*
var idx=$('myselect').options.length;
for(var j = 0; j < idx; j++) {
if(adminCode == $('myselect').options[j].value)
{
isSelected=2;
}
}
if(isSelected<2){
$('myselect').options.length++;
$('myselect').options[idx].value=adminCode;
$('myselect').options[idx].text=adminName;
}
*/
//alert(""+markers.markers.length);
for(var j = markers.markers.length-1; j >=0 ; j--){
if(adminCode == markers.markers[j].adminCode)
{
markers.removeMarker(markers.markers[j]);
}
}
var size = new OpenLayers.Size(50,50);
var calculateOffset = function(size) {
return new OpenLayers.Pixel(-(size.w/2), -size.h);
};
var icon = new OpenLayers.Icon(getAlarmLevelImg(alarmLevel),
null,null,null);
// size, null, calculateOffset);
//var marker =new OpenLayers.Marker(map.getLonLatFromPixel(e.xy), icon);//显示到当前点中的坐标
var marker =new OpenLayers.Marker(new OpenLayers.LonLat(lonLatx, lonLaty), icon);//显示到县市的中心点
marker.adminCode=adminCode;
marker.adminName=adminName;
marker.showLabel=true;
marker.labelStr="";
//显示文本标签信息。
marker.text = marker.adminName+"("+marker.adminCode+")";
if(alarmMsg!="")
{
marker.text= marker.text+" " + alarmMsg;
}
//alert(marker.text);
if(marker.text != ""){
marker.icon.imageDiv.style.fontSize = "14px";
marker.icon.imageDiv.style.color = "blue";
//marker.icon.imageDiv.style.backgroundColor = "rgb(255, 255, 215)";
marker.icon.imageDiv.style.whiteSpace = "nowrap";
//marker.icon.imageDiv.style.width="100%";
//marker.icon.imageDiv.style.height="30";
var str = "";
str+= "<img src='"+marker.icon.url+"' alt='"+marker.text+"'"+"' title='"+marker.text+"'>";
marker.icon.imageDiv.innerHTML = str;//imageDivStr + str;
}
this.labelStr=marker.icon.imageDiv.innerHTML;
if (deleteEnable) {
marker.events.register('click', marker, function(evt) {
markers.removeMarker(this);
OpenLayers.Event.stop(evt);
});
}else{
marker.events.register('click', marker, function(evt) {
//alert(" 当前状态 "+this.showLabel);
//alert(this.icon.imageDiv.innerHTML);
if(this.showLabel){
var str = "";
this.showLabel=false;
str+= "<table border=\"0\" bordercolor=\"#FF0000\">";
str+= "<tr><td bgcolor=\"rgb(255, 255, 215)\" style=\"white-space:nowrap\">";
str+= "<img src='"+marker.icon.url
+"' ' height=20px width=20px alt='"+marker.text+"'"+"' title='"+marker.text+"' "
+" />";
str+= this.text.replace(new RegExp("\n","gm"),'<br/>');
str+= "</td></tr>";
str+= "</table>";
this.icon.imageDiv.innerHTML = str;//imageDivStr + str;
}else{
var str = "";
str+= "<img src='"+marker.icon.url
+"' height=20px width=20px "
+"' alt='"+marker.text+"'"+"' title='"+marker.text+"' "
+" style=\"FILTER: progid:DXImageTransform.Microsoft.Alpha(opacity=0);WIDTH: 20px; POSITION: relative; HEIGHT: 20px\" /><br/>";
//alert('不显示label');
this.showLabel=true;
this.icon.imageDiv.innerHTML = str;//imageDivStr + str;
}
//alert(this.icon.imageDiv.innerHTML);
OpenLayers.Event.stop(evt);
});
}
markers.addMarker(marker);
}
function getSelected(){
var areaCodes="";
for(var j = markers.markers.length-1; j >=0 ; j--){
areaCodes += markers.markers[j].adminCode + ",";
}
return areaCodes;
}
/*
根据预警级别获得对应图片
*/
function getAlarmLevelImg(level) {
var imgName = "";
if (level == 1) {
imgName = "alarm_red.png";
} else if (level == 2) {
imgName = "alarm_orange.png";
} else if (level == 3) {
imgName = "alarm_yellow.png";
} else if (level == 4) {
imgName = "alarm_blue.png";
} else {
imgName = "alarm_other.png";
}
return "/was/images/weather/" + imgName;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -