arpho

hw.js

Aug 28th, 2013
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.         //var gsat = new OpenLayers.Layer.Google("SATELLITE", {type: google.maps.MapTypeId.SATELLITE, sphericalMercator:true, 'maxExtent': _bounds}),
  3.         //var gmap = new OpenLayers.Layer.Google("Google Streets", {visibility: false});
  4.        
  5.         var ghyb = new OpenLayers.Layer.Google(
  6.         "Google Hybrid",
  7.         {"type": google.maps.MapTypeId.HYBRID, numZoomLevels: 22, sphericalMercator:true}
  8.     );
  9.             var options = {
  10.             controls: [],
  11.             sphericalMercator:true,
  12.             //projection: new OpenLayers.Projection('EPSG:900913'), // senza la proiezione mi stampa metà layer
  13.             units: "m",
  14.             numZoomLevels: 22,            
  15.             maxResolution: 156543.0339,
  16.             maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34,
  17.                          20037508.34, 20037508.34)
  18.             };
  19.             var panZoom = new OpenLayers.Control.PanZoom();
  20.         var map = new OpenLayers.Map('map', {
  21.                 div: "gmap",
  22.                 sphericalMercator:true,
  23.                 projection: "EPSG:900913",
  24.                 displayProjection: "EPSG:4326",
  25.                 //zoomOffset: 5
  26.         controls: [
  27.             panZoom,
  28.             new OpenLayers.Control.Navigation()
  29.         ]
  30.             });
  31.             var regioni      = new OpenLayers.Layer.WMS(
  32.             "regioni",
  33.             "http://localhost:8080/geoserver/wms",
  34.             {
  35.             layers: "metmi-italy:reg2011_g" ,
  36.             transparent: "true",
  37.             sphericalMercator:true,
  38.             format: "image/png",
  39.             srs:'EPSG:900913', // old: 'EPSG:2077'
  40.             //zoomOffset: 4,
  41.             },
  42.             {isBaseLayer: false,}
  43.         );
  44.     var comuni   = new OpenLayers.Layer.WMS(
  45.         "comuni",
  46.         "http://localhost:8080/geoserver/wms",
  47.         {
  48.         layers: "com2011_g" ,
  49.         transparent: "true",
  50.         format: "image/png",
  51.         srs:'EPSG:900913', // old: 'EPSG:2077'
  52.         //zoomOffset: 3
  53.         },
  54.         {isBaseLayer: false,}
  55.     );
  56.     var province_wms = new OpenLayers.Layer.WMS(
  57.         "province",
  58.         "http://localhost:8080/geoserver/wms",
  59.         {
  60.         layers: "metmi-italy:prov2011_g" ,
  61.         transparent: "true",
  62.         format: "image/png",
  63.         srs:'EPSG:900913', // old: 'EPSG:2077'
  64.         //zoomOffset: 3,
  65.         },
  66.         {isBaseLayer: false,}
  67.     );
  68.     var cap_wms = new OpenLayers.Layer.WMS(
  69.         "cap",
  70.         "http://localhost:8080/geoserver/wms",
  71.         {
  72.         layers: "metmi-italy:CapCR2006" ,
  73.         transparent: "true",
  74.         format: "image/png",
  75.         srs:'EPSG:900913', // old: 'EPSG:2077'
  76.         //zoomOffset: 3
  77.         },
  78.         {isBaseLayer: false
  79.         //maxZoomLevel: 7
  80.         }
  81.     );
  82.     function handleMapClickReg(evt)
  83. {
  84. var lonlat = map.getLonLatFromViewPortPx(evt.xy);
  85. //alert("latitude : " + lonlat.lat + ", longitude : " + lonlat.lon);
  86. console.log('regioni')
  87.  
  88. }
  89. function handleMapClickPro(evt)
  90. {
  91. var lonlat = map.getLonLatFromViewPortPx(evt.xy);
  92. //alert("latitude : " + lonlat.lat + ", longitude : " + lonlat.lon);
  93. console.log('Province')
  94.  
  95. }
  96.                 //LAYER VETTORIALE IN OVERLAY PER LA SELEZIONE
  97.         select = new OpenLayers.Layer.Vector("Selezioni", {styleMap:
  98.         new OpenLayers.Style(OpenLayers.Feature.Vector.style["select"])
  99.             });
  100.         map.addLayers([ghyb,regioni,province_wms,comuni ,cap_wms,select])
  101.         //regioni       .events.register('click', map, handleMapClickReg);
  102.         selectionControl = new OpenLayers.Control.GetFeature({
  103.                 protocol: OpenLayers.Protocol.WFS.fromWMSLayer(regioni),
  104.                 box: true,
  105.                 toggle: true,
  106.                 //multipleKey: "shiftKey",
  107.                 toggleKey: "ctrlKey"
  108.             });
  109.             selectionControl.events.register("featureunselected", this, function(e) {
  110.                 removeFeaturesFromGrid(e.feature.fid);
  111.                 select.removeFeatures([e.feature]);
  112.                 //console.debug(e.feature);
  113.                
  114.             });
  115.             map.addControl(selectionControl);//CONTROLLO PER PAN E DRAG SULLA MAPPA
  116.             dragpan = new OpenLayers.Control.DragPan();
  117.             map.addControl(dragpan);
  118.             selectionControl.deactivate()
  119.             dragpan.activate();
  120.             //selectionControl.activate(); // attiva selectionControl
  121.             //REGISTRO EVENTI PER SELEZIONARE CON CLICK IN E DESELEZIONARE CON CLICK OUT
  122.             selectionControl.events.register("featureselected", this, function(e) {
  123.                 select.addFeatures([e.feature]);
  124.                 console.log('selected')
  125.                 //addFeaturesToGrid(e.feature);        
  126.             });
  127.         map.addControl(selectionControl);
  128.         //selectionControl.activate();
  129.         dragpan = new OpenLayers.Control.DragPan();
  130.         map.addControl(dragpan);
  131.         selectionControl.deactivate()
  132.         province_wms.events.register('click', map, handleMapClickPro);
  133.         map.setCenter(new OpenLayers.LonLat(12.48,41.9).transform(
  134.         new OpenLayers.Projection("EPSG:4326"),
  135.         map.getProjectionObject()
  136.         ), 7); // imposta il centro mappa e lo zomm
  137.         map.addControl(new OpenLayers.Control.LayerSwitcher());
  138.         map.events.register('zoomend', this, function (event) {
  139.                
  140.                 var zLevel = map.getZoom();
  141.                 console.log(zLevel)
  142.                 /*if( zLevel <= 6 ){   
  143.                     map.addLayer(regioni);
  144.                     //map.setBaseLayer(regioni);
  145.                     selectionControl.protocol = OpenLayers.Protocol.WFS.fromWMSLayer(regioni);
  146.                     //info.layers = [regioni];
  147.                     map.removeLayer(province);
  148.                     map.removeLayer(comuni);
  149.                     map.removeLayer(cap);
  150.                 }*/
  151.             })
  152.         /*
  153.         var point = new OpenLayers.LonLat( 41.9,12.48);
  154.         map.setCenter(point)*/
Advertisement
Add Comment
Please, Sign In to add comment