?? mainqg_make.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/alarmMake.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 + -