Changeset 5342
- Timestamp:
- 12/04/07 15:14:06 (1 year ago)
- Files:
-
- sandbox/ominiverdi/ows/OWSManager/examples/wms_manager_stile.html (modified) (3 diffs)
- sandbox/ominiverdi/ows/OWSManager/lib/OpenLayers/Control/OWSManager.js (added)
- sandbox/ominiverdi/ows/OWSManager/lib/OpenLayers/Format/WMC.js (modified) (7 diffs)
- sandbox/ominiverdi/ows/OWSManager/lib/OpenLayers/Layer.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sandbox/ominiverdi/ows/OWSManager/examples/wms_manager_stile.html
r5327 r5342 42 42 <script src="../lib/OpenLayers.js"></script> 43 43 44 <script src="../lib/OpenLayers/Control/WMSManager.js"></script> 44 <!--<script src="../lib/OpenLayers/Control/WMSManager.js"></script>--> 45 <script src="../lib/OpenLayers/Control/OWSManager.js"></script> 45 46 46 47 <script src="../lib/OpenLayers/Control/WMSToolbar.js"></script> … … 106 107 ); 107 108 108 map.addControl( new OpenLayers.Control. WMSManager(aWMSServers ) );109 map.addControl( new OpenLayers.Control.OWSManager(aWMSServers ) ); 109 110 110 111 … … 223 224 //add new layers 224 225 map.addLayers(obj.layers); 226 map.events.triggerEvent("changebaselayer");//maybe?!? 225 227 226 228 //zoom to context extent sandbox/ominiverdi/ows/OWSManager/lib/OpenLayers/Format/WMC.js
r5327 r5342 124 124 var layers = this.findChildrenByName(layerlist,'Layer'); 125 125 for(i=0;i<layers.length;i++){ 126 layer = layers[i];126 wmcLayer = layers[i]; 127 127 console.log('layer: '+i); 128 128 //getting porperties values 129 var name = this.concatChildValues(this.findChildByName( layer,'Name'));130 var title = this.concatChildValues(this.findChildByName( layer,'Title'));131 var srs = this.concatChildValues(this.findChildByName( layer,'SRS'));129 var name = this.concatChildValues(this.findChildByName(wmcLayer,'Name')); 130 var title = this.concatChildValues(this.findChildByName(wmcLayer,'Title')); 131 var srs = this.concatChildValues(this.findChildByName(wmcLayer,'SRS')); 132 132 var srss = srs.split(' '); 133 133 srs = srss[0];//bad choice - forcing to first srs available 134 134 135 135 //get format value <FormatList> 136 var formatList = this.findChildByName( layer,'FormatList');136 var formatList = this.findChildByName(wmcLayer,'FormatList'); 137 137 //var formats = this.findChildrenByName(formatList,'Format'); 138 138 var format = 'image/png'; … … 148 148 149 149 //Overlay 150 var overlay = layer.getAttribute('overlay');150 var overlay = wmcLayer.getAttribute('overlay'); 151 151 if(overlay) var isBaseLayer = false; 152 152 else var isBaseLayer = true; 153 var hidden = layer.getAttribute('hidden');153 var hidden = wmcLayer.getAttribute('hidden'); 154 154 //alert(hidden); 155 155 if(!hidden) var visibility = false; … … 157 157 158 158 //GET server values 159 var server = this.findChildByName( layer,'Server');159 var server = this.findChildByName(wmcLayer,'Server'); 160 160 var version = server.getAttribute('version'); 161 161 var service = server.getAttribute('service');//TODO parse to see if not WMS … … 163 163 var url = onlineResource.getAttribute('xlink:href'); 164 164 165 166 167 165 168 //built layer structure 166 169 layer = {}; 167 170 layer.CLASS_NAME = "OpenLayers.Layer.WMS"; 168 171 layer.name = title; 172 layer.abstract = abstract; 169 173 layer.url = url; 170 174 layer.isBaseLayer = isBaseLayer; … … 181 185 //layer.params.SRS = srs; 182 186 //OLContext.projection = srs; 187 188 //OWS Manager values 189 layer.OWSName = title; 190 layer.OWSTitle = title; 191 if(this.findChildByName(wmcLayer,'Abstract')) var abstract = this.concatChildValues(this.findChildByName(wmcLayer,'Abstract')); 192 if(abstract)layer.OWSAbstract = abstract; 193 if(OLContext.bounds)layer.OWSBoundingBox = OLContext.bounds.toString(); 194 if(wmcLayer.getElementsByTagName('LegendURL')) { 195 var OWSLegendURL = wmcLayer.getElementsByTagName('LegendURL')[0].getElementsByTagName('OnlineResource')[0].getAttribute('xlink:href'); 196 } 197 if(OWSLegendURL)layer.OWSLegendURL = OWSLegendURL; 198 var OWSqueryable = wmcLayer.getAttribute('queryable'); 199 if(OWSqueryable)layer.OWSqueryable = OWSqueryable; 200 var SLDService = wmcLayer.getAttribute('SLDService'); 201 if(SLDService)layer.SLDService = SLDService; 202 183 203 184 204 OLContext.layers[i] = layer; … … 254 274 var oLayer = OLON.layers[i]; 255 275 var layer = this.createElementNS(this.WMC_NS,'Layer'); 256 layer.setAttribute('queryable', '1 - hardcoded'); 276 var queryable =(oLayer.OWSqueryable)?oLayer.OWSqueryable:0; 277 layer.setAttribute('queryable', queryable); 257 278 if(!oLayer.isBaseLayer){ 258 layer.setAttribute('overlay', 'true');//this attr. should be ofOL namespace279 layer.setAttribute('overlay', 'true');//this attr. should be in OL namespace 259 280 layer.setAttribute('hidden', !oLayer.visibility); 260 281 } 261 //should I look directly in the Map object? 262 //or should I expect to find visibility in the OLON? 282 283 //SLDService. this should be in OL namespace 284 if(oLayer.SLDService)layer.setAttribute('SLDService',oLayer.SLDService); 285 //OWS Manager params 286 /*layer.OWSName += separator + aaWMSLayer[0]; 287 layer.OWSTitle += separator + aaWMSLayer[1]; 288 layer.OWSAbstract += separator + aaWMSLayer[2]; 289 layer.OWSBoundingBox += separator + aaWMSLayer[3]; 290 layer.OWSLegendURL += separator + aaWMSLayer[4]; 291 layer.OWSqueryable += separator + aaWMSLayer[5]; 292 oLayer.SLDService = aaWMSLayer[6];*/ 263 293 264 294 if(oLayer.url){ 265 295 //NAME -> params:LAYERS 266 296 if(oLayer.params.LAYERS) var layers = oLayer.params.LAYERS; 267 else layers = '???';297 else var layers = '???';//should never happen 268 298 var name = this.createElementNS(this.WMC_NS,'Name'); 269 299 name.appendChild(this.createTextNode(layers)); 270 300 layer.appendChild(name); 271 301 272 //TITLE -> name 273 if(oLayer.name) var olname = oLayer.name; 274 else olname = '???'; 302 //TITLE -> title||name||OWSTitle 303 if(oLayer.OWSTitle) var oltitle = oLayer.OWSTitle; 304 else if(oLayer.title) var oltitle = oLayer.title; 305 else if(oLayer.name) var oltitle = oLayer.name; 306 else var oltitle = '???'; 275 307 var title = this.createElementNS(this.WMC_NS,'Title'); 276 title.appendChild(this.createTextNode(ol name));308 title.appendChild(this.createTextNode(oltitle)); 277 309 layer.appendChild(title); 310 311 //ABSTRACT -> OWSAbstract||abstract 312 if(oLayer.OWSAbstract) var olabstract = oLayer.OWSAbstract; 313 else if(oLayer.title) var olabstract = oLayer.title; 314 else if(oLayer.name) var olabstract = oLayer.name; 315 else var olabstract = null; 316 if(olabstract){ 317 var abstract = this.createElementNS(this.WMC_NS,'Abstract'); 318 abstract.appendChild(this.createTextNode(olabstract)); 319 layer.appendChild(abstract); 320 } 278 321 279 322 //SRS -> params:SRS … … 315 358 //should be the list of all styles available 316 359 var StyleTypeList = this.createElementNS(this.WMC_NS,'StyleTypeLyst'); 360 if(oLayer.OWSLegendURL) var olLegUrl = oLayer.OWSLegendURL; 361 else var olLegUrl = null; 317 362 if(oLayer.params.STYLE) var olstyle = oLayer.params.STYLE; 318 else olstyle = '???'; 319 /*var format = this.createElementNS(this.WMC_NS,'FormatList'); 320 format.setAttribute('current','1'); 321 format.appendChild(this.createTextNode(olformat));*/ 363 else olstyle = ''; 364 /* 365 * <Style current="1"> 366 <Name>default</Name> 367 <Title>Default</Title> 368 <LegendURL width="180" format="image/gif" height="50"> 369 <OnlineResource xlink:type="simple" 370 xlink:href="http://globe.digitalearth.gov/globe/en/icons/colorbars/COASTLINES.gif"/> 371 </LegendURL> 372 </Style> 373 374 */ 375 var style = this.createElementNS(this.WMC_NS,'FormatList'); 376 style.setAttribute('current','1'); 377 var styleName = this.createElementNS(this.WMC_NS,'Name'); 378 styleName.appendChild(this.createTextNode(olstyle)); 379 style.appendChild(styleName); 380 var legendUrl = this.createElementNS(this.WMC_NS,'LegendURL'); 381 legendUrl.setAttribute('height','20'); 382 legendUrl.setAttribute('width','20'); 383 legendUrl.setAttribute('format','image/png'); 384 var lOnlineResource = this.createElementNS(legendUrl,'OnlineResource'); 385 lOnlineResource.setAttribute('xlink:type','simple'); 386 lOnlineResource.setAttribute('xlink:href',olLegUrl); 387 legendUrl.appendChild(lOnlineResource); 388 style.appendChild(legendUrl); 389 StyleTypeList.appendChild(style); 322 390 //HOW TO DEFINE THE DEFAULT STYLE?!??! 323 391 layer.appendChild(StyleTypeList); sandbox/ominiverdi/ows/OWSManager/lib/OpenLayers/Layer.js
r4832 r5342 229 229 "maxExtent", "wrapDateLine", "displayOutsideMaxExtent", 230 230 "isBaseLayer", "displayInLayerSwitcher", "visibility", 231 "opacity"] 231 "opacity", 232 //OWS Manager stuff 233 "title","abstract", 234 "OWSName","OWSTitle","OWSAbstract","OWSBoundingBox" 235 ,"OWSLegendURL","OWSqueryable","SLDService" 236 ] 232 237 }, 233 238
