OpenLayers OpenLayers

Changeset 3199

Show
Ignore:
Timestamp:
05/29/07 09:41:39 (2 years ago)
Author:
ominiverdi
Message:

WMSManager (ticket #687):
added query system with multi layer drilling,
added WMSToolbar with Identify button,
added Identify Icons to default style

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sandbox/ominiverdi/openlayers/examples/wms_manager.html

    r3131 r3199  
    77            border: 1px solid black; 
    88        } 
     9        #queryOut { 
     10            width:300px; 
     11            height: 475px; 
     12            border: 1px solid black; 
     13            position:absolute; 
     14            left:820px; 
     15            top:8px; 
     16            overflow:auto; 
     17        } 
    918    </style> 
    1019     
     
    1625 
    1726        function init(){ 
    18             //OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";//ominiverdi.org 
    19             OpenLayers.ProxyHost="proxy.cgi?url=";//dev.openlayers.org 
     27            OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";//ominiverdi.org 
     28            //OpenLayers.ProxyHost="proxy.cgi?url=";//dev.openlayers.org 
    2029           // OpenLayers.ProxyHost="http://www.openlayers.org/proxy/?url=";//www.openlayers.org 
    2130            
     
    2332            
    2433            var aWMSServers=new Array( 
    25                 ['OpenLayers WMS','http://labs.metacarta.com/wms/vmap0'], 
     34                ['OpenLayers WMS','http://labs.metacarta.com/cgi-bin/mapserv?map=/www/labs/map/vmap0.map'], 
    2635                ['World - NASA Blue Marble Next Generation','http://wms.jpl.nasa.gov/wms.cgi?'], 
    2736                ['World - esa','http://mapserv2.esrin.esa.it/cubestor/cubeserv/cubeserv.cgi?'],// no layers shown in list 
    2837                ['World - Demis World Map','http://www2.demis.nl/mapserver/Request.asp?'], 
     38                ['Tilecache at OpenPlans','http://sigma.openplans.org/tilecache-1.3/tilecache.py?'], 
     39                ['FAO','http://193.43.36.137/ows/14110'], 
     40                ['NATO','http://geos2.nurc.nato.int/geoserver/wms'], 
     41                ['Kappa','http://149.139.8.29/geoserver/wms?'], 
     42                ['QGIS WMS server at ethz.ch','http://karlinapp.ethz.ch/fcgi-bin/qgis_wms_dir/europe/qgis_wms_serv.fcgi?'], 
    2943                ['AU - Aims Australia','http://adc.aims.gov.au:9555/atlas/SstWmsServer?'], 
    3044                ['BR - Unidades de Conservacao do Brasil (dados preliminares)','http://mapas.mma.gov.br/cgi-bin/mapserv?map=/opt/www/html/webservices/ucs.map&'], 
     45                ['SP - IGN','http://www.idee.es/wms/IDEE-Base/IDEE-Base'], 
    3146                ['SP - Catalunya - ICC Web Map Service','http://shagrat.icc.es/lizardtech/iserv/ows?'], 
    32                 ['SP - Junta Andalucia','http://www.andaluciajunta.es/IDEAndalucia/IDEAwms/wms/MTA100?'], 
    33                 ['SP - Conselleria de Territori i Habitatge, GVA - Servici WMS: wms_senderos','http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_senderos?'] 
    34  
     47                ['SP - Junta Andalucia','http://www.andaluciajunta.es/IDEAndalucia/IDEAwms/wms/MTA100v?'], 
     48                ['SP - Aragon', 'http://sitar.aragon.es/AragonWMS?'], 
     49                ['SP - Asturias','http://www.cartografia.asturias.es/wmsortofotos/request.asp?'], 
     50                ['SP - Comunidad Valenciana - Conselleria de Territori i Habitatge, GVA - Servici WMS: wms_senderos','http://orto.cth.gva.es/wmsconnector/com.esri.wms.Esrimap/wms_senderos?'], 
     51                ['SP - Comunidad Valenciana ','http://icvmapas.cetesi.gva.es/wms?'], 
     52                ['SP - Castilla La Mancha','http://161.67.10.126/cgi-bin/mapserv?map=/usr/local/webmapping/ideclm/mapserver/ideclm.map'], 
     53                ['SP - Cantabria','http://www.idee.es/wms/WMS-Cantabria/WMS-Cantabria?'], 
     54                ['SP - Euskadi (Pais Vasco)','http://www1.euskadi.net/servlet/com.esri.wms.Esrimap?ServiceName=GVasco'], 
     55                ['SP - La Rioja','http://wms.larioja.org/request.asp'] 
     56                 
    3557                 
    3658                 
     
    4062            ); 
    4163 
    42             map.addControl( new OpenLayers.Control.WMSManager(aWMSServers) ); 
    43             var panel = new OpenLayers.Control.NavToolbar(); 
    44             map.addControl(panel); 
     64            map.addControl( new OpenLayers.Control.WMSManager(aWMSServers ) ); 
     65             
     66            //map.addControl(new OpenLayers.Control.NavToolbar()); 
     67            var queryTarget = $('queryOut'); 
     68            WMSToolbar = new OpenLayers.Control.WMSToolbar({queryTarget: queryTarget}); 
     69            map.addControl(WMSToolbar); 
     70            map.addControl(new OpenLayers.Control.WMSPermalink()); 
    4571             
    4672             
     
    5278  <body onload="init()"> 
    5379    <div id="map"></div> 
     80    <div id="queryOut"></div> 
     81     
    5482  </body> 
    5583</html> 
  • sandbox/ominiverdi/openlayers/lib/OpenLayers.js

    r3174 r3199  
    124124        "OpenLayers/Control/WMSPermalink.js", 
    125125        "OpenLayers/Control/WMSArgParser.js", 
     126        "OpenLayers/Control/WMSToolbar.js", 
     127        "OpenLayers/Control/WMSQuery.js", 
    126128        "OpenLayers/Geometry.js", 
    127129        "OpenLayers/Geometry/Rectangle.js", 
  • sandbox/ominiverdi/openlayers/lib/OpenLayers/Control/WMSArgParser.js

    r3174 r3199  
    148148                    var BoundingBox = ''; 
    149149                    var LegendURL = ''; 
     150                    var queryable = false; 
    150151                     
    151152                     
     
    161162     
    162163                        if(!layer.aWMSLayers) layer.aWMSLayers = []; 
    163                         layer.aWMSLayers.push(Name,Title,Abstract,BoundingBox,LegendURL); 
     164                        layer.aWMSLayers.push(Name,Title,Abstract,BoundingBox,LegendURL,queryable); 
    164165                        layer.WMSinfo = [layerName,url,params]; 
    165166                        this.map.addLayer(layer); 
  • sandbox/ominiverdi/openlayers/lib/OpenLayers/Control/WMSManager.js

    r3174 r3199  
    6868    aWMSServer: null, 
    6969     
    70     aWMSLayers: [],//Name:Title:Abstract:BoundingBox:LegendURL 
     70    //WMS layers features 
     71    /** @type Array 
     72     *  @param Name:Title:Abstract:BoundingBox:LegendURL:queryable 
     73     */  
     74    aWMSLayers: [], 
    7175     
    7276    //others 
     
    179183                                layerName =  listedLayer[1]; 
    180184                            } 
     185                            //show is queryable 
     186                            if(listedLayer[5]==1) layerName +=' (q)';   
     187                            //set legend url 
    181188                            legendUrl = listedLayer[4]; 
    182                             //alert(legendUrl); 
    183189                        } 
    184190                        if(legendUrl){ 
     
    773779        //alert('2'); 
    774780        //print extent (clean if already there) 
    775         var myextent = $('wmsExtent'); 
     781        /*var myextent = $('wmsExtent'); 
    776782        if( myextent)myextent.parentNode.removeChild(myextent); 
    777783        var p = document.createElement('p'); 
    778784        //p.innerHTML = 'map extent: '+ this.extent; 
    779785        p.id = 'wmsExtent'; 
    780         formObj.appendChild(p); 
     786        formObj.appendChild(p);*/ 
    781787         
    782788        //alert('3'); 
    783789        //get map SRS (should be layer related) 
    784         this.srs = xml.getElementsByTagName('SRS')[0].textContent; 
     790        /*this.srs = xml.getElementsByTagName('SRS')[0].textContent; 
    785791        var mywmssrs = $('wmsSRS'); 
    786792        if( mywmssrs)mywmssrs.parentNode.removeChild(mywmssrs); 
     
    788794        //p.innerHTML = 'SRS: '+ this.srs; 
    789795        p.id = 'wmsSRS'; 
    790         formObj.appendChild(p); 
     796        formObj.appendChild(p);*/ 
    791797         
    792798        //alert('4'); 
     
    887893            else var Abstract = null; 
    888894             
    889              
     895            var queryable = aLayers[i].getAttribute('queryable'); 
    890896             
    891897            select[j++] = new Option(Title,Name,false,false); 
     
    938944             
    939945             
    940             this.aWMSLayers.push([Name,Title,Abstract,BoundingBox,LegendURL]); 
     946            this.aWMSLayers.push([Name,Title,Abstract,BoundingBox,LegendURL,queryable]); 
    941947            }catch(e){alert(e);} 
    942948             
  • sandbox/ominiverdi/openlayers/theme/default/style.css

    r3175 r3199  
    218218    position: absolute; 
    219219}  
     220 
     221 
     222    
     223.olControlWMSToolbar div {  
     224  display:block; 
     225  width:  28px; 
     226  height: 28px; 
     227  top: 300px; 
     228  left: 6px; 
     229  position: relative; 
     230} 
     231 
     232.olControlWMSToolbar .olControlNavigationItemActive {  
     233  background-image: url("img/panning-hand-on.png"); 
     234  background-repeat: no-repeat; 
     235} 
     236.olControlWMSToolbar .olControlNavigationItemInactive {  
     237  background-image: url("img/panning-hand-off.png"); 
     238  background-repeat: no-repeat; 
     239} 
     240.olControlWMSToolbar .olControlZoomBoxItemActive {  
     241  background-image: url("img/drag-rectangle-on.png"); 
     242  background-color: orange; 
     243  background-repeat: no-repeat; 
     244} 
     245.olControlWMSToolbar .olControlZoomBoxItemInactive {  
     246  background-image: url("img/drag-rectangle-off.png"); 
     247  background-repeat: no-repeat; 
     248} 
     249 
     250.olControlWMSToolbar .olControlWMSQueryItemActive {  
     251  background-image: url("img/identify-on.png"); 
     252  background-color: orange; 
     253  background-repeat: no-repeat; 
     254} 
     255.olControlWMSToolbar .olControlWMSQueryItemInactive {  
     256  background-image: url("img/identify-off.png"); 
     257  background-repeat: no-repeat; 
     258}