factors.js

来自「用来在地图上做操作GIS,在地图上做标记」· JavaScript 代码 · 共 644 行 · 第 1/2 页

JS
644
字号
var map;
var untiled;
var tiled;
var editLayer;
var editPanel;
var controls;
var alreadysend;//已经发送
var waitsend;//等待发送
var  justseng;//正在下发
var neitherled;//没有下发
var ledurl=new Array();
var num=new Object(0+"");




function fahui(){
       alert(ledurl.length+"  "+num);
       var num=parseInt(num);
        var obj=ledurl[--num];
       // alert(obj);
       obj.apply(null,['/geoserver',true]);
      //init_gis('/geoserver',true);   
     }


 
     
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_gisddd(gisctx, deleteEnable) {
	 
      var i=parseInt(num);
          ledurl[i]=new   Object(init_gis); 
          num=new Object(i+"");
          if(map!=null){
      
     /* map.removeLayer(editLayer);
     var panel=map.getControl("Panel");
     panel.destroy();
     
  /*   for(var i=0;i<panel.controls.length;i++){
          panel.controls[i]=null;
          //map.removeControl(panel.controls[i]);
      }
      
      alert(map.controls.length);*/
      
	  map.destroy();
	

	}
	
	
 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
//rs=rs.substr(0,rs.indexOf("\n")); //linux部署tomcat
var adminCode=rs;
//alert("地区号是 "+adminCode);
if(adminCode!="44"){
		 alert("目前不支持选择广东省以外的地图!ffff");
}else{
	
   init_gisgd(gisctx, deleteEnable);

	
//window.location.href="/was/alarmGraph.do?method=list&ec_s_id=desc&maptype=gd";
}
				}
                OpenLayers.loadURL(url, '', this, selectPoint, setHTML);
                OpenLayers.Event.stop(e);
            });

}
/*

*/
function init_gisgd(gisctx, deleteEnable) {

        var i=parseInt(num);
        ledurl[++i]=new  Object(init_gis);
        num=new Object(i);
    
    
	if(map!=null){
	  map.destroy();
	  }
	var bounds = new OpenLayers.Bounds(
		109.2422609, 19.84321005,
		117.7458351, 25.786926949999998
	);
  var options = {
		controls: [],
		maxExtent: bounds,
		maxResolution: 0.033217086718749955,
		projection: "EPSG:4326",
		units: 'degrees'
	};
  map = new OpenLayers.Map('map', options);
            
            
	// setup tiled layer
	tiled = new OpenLayers.Layer.WMS(
		"gdditu:Dguangdong_region - Tiled", gisctx + "/wms",
    {
			layers: 'gdditu:Dguangdong_region',
			styles: '',
			height: '524',
			width: '800',
			srs: 'EPSG:4326',
			format: 'image/png',
			tiled: 'true',
			tilesOrigin : "109.2422609,19.84321005"
    	},
     {buffer: 0} 
	);
                    
	map.addLayers([ tiled]); 
	setEditPanel();
	//map.removeLayer(editLayer);
    //map.removeControl(editPanel);
    //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')}));
	var layerswitcher=new OpenLayers.Control.LayerSwitcher();
	layerswitcher.id="switcher";
	map.addControl(layerswitcher);
	//map.addControl(new OpenLayers.Control.OverviewMap());
	//markers
	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( "LED图层信息");
    map.addLayer(neitherled);
    
	map.zoomToExtent(bounds);
	

var  guandong="113.218,25.2289,440281,./images/weather/alarm_blue.png#";
	       guandong+="113.78,25.1449,440224,./images/weather/alarm_blue.png#";
		   guandong+="114.339,25.1839,440282,./images/weather/alarm_blue.png#";
		   guandong+="112.453,24.9054,441882,./images/weather/alarm_blue.png#";
		   guandong+="114.143,24.8319,440222,./images/weather/alarm_blue.png";

   // displayAreaInfos(markers,guandong);
   //startRequest(url, handleStateChange);
   


    //startRequest(url, handleStateChange);
     
	// 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_未下发地区");*/
		
		 
  if(deleteEnable) {
  
      polygonControl.handler.events.register('up', polygonControl.handler, function (e) {
        
      
  
         
         
      });



	   map.events.register('click', map, function (e) {
			//alert(map.getLonLatFromPixel(e.xy));
			//document.getElementById('nodelist').innerHTML = "正在载入... 请稍后...";
		  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: 'gdmap:Dguangdong_region',
				styles: '',
				WIDTH: map.size.w,
				HEIGHT: map.size.h
			},
		  gisctx+ "/wms"
			);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?