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 + -
显示快捷键?