szcity.js
来自「用来在地图上做操作GIS,在地图上做标记」· JavaScript 代码 · 共 268 行
JS
268 行
var untiled;
var tiled;
var station_layer;
var station_layer4;
var polygonControl;
var editLayer;
var alreadysend;//已经发送
var waitsend;//等待发送
var justseng;//正在下发
var neitherled;//没有下发
var map;
function setHTML(response) {
document.getElementById('nodelist').innerHTML = response.responseText;
};
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 5;
OpenLayers.DOTS_PER_INCH = 25.4 / 0.28;
function init(){
if(map!=null){
map.destroy();
}
var bounds = new OpenLayers.Bounds(
114.08363729999999, 22.54358695,
114.1000867, 22.55208005
);
var options = {
controls: [],
maxExtent: bounds,
maxResolution: 6.425546875005184E-5,
projection: "EPSG:4326",
units: 'degrees'
};
map = new OpenLayers.Map('map', options);
// setup tiled layer
tiled = new OpenLayers.Layer.WMS(
"�����", "/geoserver/wms",
{
layers: 'SHENZHEN:impression,SHENZHEN:road,SHENZHEN:roadway,SHENZHEN:traffic,SHENZHEN:greenbelt,SHENZHEN:watersystem,SHENZHEN:tradename,SHENZHEN:units',
styles: '',
height: '387',
width: '800',
srs: 'EPSG:4326',
format: 'image/png',
tiled: 'true',
tilesOrigin : "114.08363729999999,22.54358695"
},
{buffer: 0}
);
station_layer = new OpenLayers.Layer.WMS("�������", "/geoserver/wms", {
layers: 'gdditu:Dguangdong_region',
tiled: 'false',
reaspect: "false",
transparent: 'true'
}, {
buffer: 0,
isBaseLayer: false,
opacity: 0.0
});
map.addLayer(tiled);
//��ӿ��Ʋ�
// setEditPanel();
// 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());
map.zoomToExtent(bounds);
function setEditPanel(){
editLayer = new OpenLayers.Layer.Vector("Editable");
map.addLayer(editLayer);
zb = new OpenLayers.Control.ZoomBox();
var editPanel = new OpenLayers.Control.Panel({
//'div':OpenLayers.Util.getElement('editPanel')
//defaultControl: zb
});
var drawOptions = {
handlerOptions: {
freehand: true
}
};
var circleOptions = {
displayUnits: 'km',
handlerOptions: {
sides: 35,
persist: true
}
};
polygonControl = new OpenLayers.Control.DrawFeature(editLayer,
OpenLayers.Handler.RegularPolygon,
{handlerOptions: editLayer});
var controls = [new OpenLayers.Control.MouseDefaults(),
new OpenLayers.Control.ZoomBox(),
//new OpenLayers.Control.DrawFeature(layer, OpenLayers.Handler.Point, {'displayClass': 'olControlDrawFeaturePoint'}),
new OpenLayers.Control.DrawFeature(editLayer, OpenLayers.Handler.Polygon, drawOptions),
new OpenLayers.Control.DragFeature(editLayer),
new OpenLayers.Control.ZoomToMaxExtent(),
polygonControl,
new OpenLayers.Control.DrawFeature(editLayer,
OpenLayers.Handler.Path),
new OpenLayers.Control.DragFeature(editLayer),
new OpenLayers.Control.SelectFeature(editLayer,
{hover: true,
onSelect: onFeatureSelect,
onUnselect: onFeatureUnselect})];
editPanel.defaultControl = controls[0];
editPanel.addControls(controls);
map.addControl(editPanel);
}
function onFeatureSelect(feature) {
popup = new OpenLayers.Popup.Anchored("chicken",
feature.geometry.getBounds().getCenterLonLat(),
new OpenLayers.Size(250,75),
"<div style='font-size:.8em'>Feature: " + feature.id
+"<br />Area: " + feature.geometry.getArea()
+ "<br />Bounds: " + feature.geometry.getBounds()
+"</div>",
null, true);
feature.popup = popup;
map.addPopup(popup);
setHTML("<div style='font-size:.8em'>Feature: " + feature.id
+"<br />Area: " + feature.geometry.getArea()
+ "<br />Bounds: " + feature.geometry.getBounds()
+"</div>");
}
function onFeatureUnselect(feature) {
map.removePopup(feature.popup);
feature.popup.destroy();
feature.popup = null;
setHTML("");
}
markers = new OpenLayers.Layer.Markers( "LED图层信息" );
map.addLayer(markers);
alreadysend=new OpenLayers.Layer.Markers( "已经下发地区" );
map.addLayer(alreadysend);
waitsend=new OpenLayers.Layer.Markers( "正在下发地区" );
map.addLayer(waitsend);
neitherled=new OpenLayers.Layer.Markers( "未下发地区");
map.addLayer(neitherled);
selecedLed();
nonequyuInfos("input_LED图层信息");//LED显示地区
//已经下发
var areaInfos="113.546,24.7746,韶关市,./images/weather/alarm_blue.png#";
areaInfos+="113.78,25.1449,仁化县,./images/weather/alarm_orange.png#";
areaInfos+="114.339,25.1839,南雄市,./images/weather/alarm_other.png#";
areaInfos+="112.453,24.9054,连州市,./images/weather/alarm_red.png#";
areaInfos+="114.143,24.8319,始兴县,./images/weather/alarm_yellow.png";
displayAreaInfos(alreadysend,areaInfos);
nonequyuInfos("input_已经下发地区");
//等待下发
areaInfos="";//
var areaInfos="115.853,22.9271,陆丰市,./images/weather/alarm_blue.png#";
areaInfos+="113.24,23.1299,荔湾区,./images/weather/alarm_orange.png#";
areaInfos+="116.668,23.6934,潮州市,./images/weather/alarm_other.png#";
areaInfos+="113.131,23.6177,清远市,./images/weather/alarm_red.png#";
areaInfos+="113.885,22.898,东莞市,./images/weather/alarm_yellow.png";
displayAreaInfos(waitsend,areaInfos);
nonequyuInfos("input_正在下发地区");
// support GetFeatureInfo
areaInfos="";// 112.592,23.1663,肇庆市",
var areaInfos="115.853,22.9271,陆丰市,./images/weather/alarm_blue.png#";
areaInfos+="112.592,23.1663,肇庆市,./images/weather/alarm_orange.png#";
areaInfos+="111.184,22.4464,,信宜市,./images/weather/alarm_other.png#";
areaInfos+="111.001,22.0079,高州市,./images/weather/alarm_red.png#";
areaInfos+="110.977,21.5809,茂名市,./images/weather/alarm_yellow.png";
displayAreaInfos(waitsend,areaInfos);
nonequyuInfos("input_正在下发地区");
// support GetFeatureInfo
//没有下发的地区
//没有下发的地区
//116.042,23.3122"普宁市",
var areaInfos="115.853,22.9271,陆丰市,./images/weather/alarm_blue.png#";
areaInfos+="113.24,23.1299,荔湾区,./images/weather/alarm_orange.png#";
areaInfos+="116.668,23.6934,潮州市,./images/weather/alarm_other.png#";
areaInfos+="113.131,23.6177,清远市,./images/weather/alarm_red.png#";
areaInfos+="113.885,22.898,东莞市,./images/weather/alarm_yellow.png";
displayAreaInfos(neitherled,areaInfos);
nonequyuInfos("input_未下发地区");
// 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/html',
QUERY_LAYERS: map.layers[0].params.LAYERS,
FEATURE_COUNT: 50,
layers: 'SHENZHEN:impression,SHENZHEN:road,SHENZHEN:roadway,SHENZHEN:traffic,SHENZHEN:greenbelt,SHENZHEN:watersystem,SHENZHEN:tradename,SHENZHEN:units',
styles: '',
srs: 'EPSG:4326',
WIDTH: map.size.w,
HEIGHT: map.size.h
},
"http://localhost:8088/geoserver/wms"
);
var selectPoint = function(varresponse){
var rs=varresponse.responseText;
alert(rs+" dafdsaf");
//alert(rs);
}
OpenLayers.loadURL(url, '', this, selectPoint, setHTML);
OpenLayers.Event.stop(e);
});
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?