Changeset 9541
- Timestamp:
- 07/06/09 15:12:40 (7 months ago)
- Files:
-
- sandbox/august/openlayers/2.5+/OpenLayers.js (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sandbox/august/openlayers/2.5+/OpenLayers.js
r9205 r9541 550 550 if(this.div!=null){if(this.contentDiv!=null){this.div.style.background="transparent";OpenLayers.Rico.Corner.changeColor(this.contentDiv,this.backgroundColor);}}},setOpacity:function(opacity){if(opacity!=undefined){this.opacity=opacity;} 551 551 if(this.div!=null){if(this.contentDiv!=null){OpenLayers.Rico.Corner.changeOpacity(this.contentDiv,this.opacity);}}},setBorder:function(border){this.border=0;},setRicoCorners:function(firstTime){var corners=this.getCornersToRound(this.relativePosition);var options={corners:corners,color:this.backgroundColor,bgColor:"transparent",blend:false};if(firstTime){OpenLayers.Rico.Corner.round(this.div,options);}else{OpenLayers.Rico.Corner.reRound(this.groupDiv,options);this.setBackgroundColor();this.setOpacity();}},getCornersToRound:function(){var corners=['tl','tr','bl','br'];var corner=OpenLayers.Bounds.oppositeQuadrant(this.relativePosition);OpenLayers.Util.removeItem(corners,corner);return corners.join(" ");},CLASS_NAME:"OpenLayers.Popup.AnchoredBubble"});OpenLayers.Popup.AnchoredBubble.CORNER_SIZE=5;OpenLayers.Renderer.SVG=OpenLayers.Class(OpenLayers.Renderer.Elements,{xmlns:"http://www.w3.org/2000/svg",maxPixel:15000,localResolution:null,initialize:function(containerID){if(!this.supported()){return;} 552 OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments);},destroy:function(){OpenLayers.Renderer.Elements.prototype.destroy.apply(this,arguments);},supported:function(){var svgFeature="http://www.w3.org/TR/SVG11/feature#SVG";var supported=(document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature(svgFeature,"1.1")));return supported;},setExtent:function(extent){OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments);var resolution=this.getResolution();if(!this.localResolution||resolution!=this.localResolution){this.left=-extent.left/resolution;this.top=extent.top/resolution;} 552 OpenLayers.Renderer.Elements.prototype.initialize.apply(this,arguments);},destroy:function(){OpenLayers.Renderer.Elements.prototype.destroy.apply(this,arguments);},supported:function(){if(/Firefox\/3/.test(navigator.userAgent)){return true;} 553 var svgFeature="http://www.w3.org/TR/SVG11/feature#SVG";var supported=(document.implementation&&(document.implementation.hasFeature("org.w3c.svg","1.0")||document.implementation.hasFeature(svgFeature,"1.1")));return supported;},setExtent:function(extent){OpenLayers.Renderer.Elements.prototype.setExtent.apply(this,arguments);var resolution=this.getResolution();if(!this.localResolution||resolution!=this.localResolution){this.left=-extent.left/resolution;this.top=extent.top/resolution;} 553 554 var left=0;var top=0;if(this.localResolution&&resolution==this.localResolution){left=(this.left)-(-extent.left/resolution);top=(this.top)-(extent.top/resolution);} 554 555 this.localResolution=resolution;var extentString=left+" "+top+" "+ … … 619 620 OpenLayers.Console.debug("GET_FEATURE_WITH_LOCK response: ");OpenLayers.Console.dirxml(request.responseXML);var gml=new OpenLayers.Format.GML3({'extractAttributes':this.layer.options['extractAttributes'],'featureTypeName':this.layer.options['typeName'],'featureNS':this.layer.options['featureNS'],'featurePrefix':this.layer.options['featurePrefix'],'geometry_column':this.layer.options['geometry_column'],'multiPolygonGeometryType':this.layer.options['multiPolygonGeometryType'],'multiLineStringGeometryType':this.layer.options['multiLineStringGeometryType'],'srsUrn':this.layer.options['srsUrn'],'swapAxis':this.layer.options['swapAxis']});this.layer.lockedFeatures.length=0;this.layer.lockedFeatures=gml.read(doc);OpenLayers.Console.debug("render locked features...number: "+this.layer.lockedFeatures.length);for(var key in this.layer.lockedFeatures){var feature=this.layer.lockedFeatures[key];if(feature.CLASS_NAME=="OpenLayers.Feature.Vector"){select_controls[current_active_featuretype].unselect(this.layer.getFeatureByFeatureId(feature.fid));var lockedFeature=this.layer.getFeatureByFeatureId(feature.fid);this.layer.eraseFeatures([lockedFeature]);this.layer.drawFeature(lockedFeature,OpenLayers.Feature.Vector.style['locked']);}}},lockSelectedFeaturesFailure:function(request){var response=request.responseText;OpenLayers.Console.debug("GET_FEATURE_WITH_LOCK response: "+response);OpenLayers.Console.dirxml(request.responseXML);},lockFeaturesInCurrentExtentSuccess:function(request){this.lockSelectedFeaturesSuccess.apply(this,[request]);},lockFeaturesInCurrentExtentFailure:function(request){this.lockSelectedFeaturesFailure.apply(this,[request]);},releaseLockedFeatures:function(){var transaction=null;transaction=OpenLayers.Util.WFS2Util.createWFSReleaseLockRequest(this.layer,{});OpenLayers.Console.debug("TRANSACTION request: ");OpenLayers.Console.dirxml(transaction);transaction=OpenLayers.Ajax.serializeXMLToString(transaction);var success=OpenLayers.Function.bind(this.releaseLockedFeaturesSuccess,this);var failure=OpenLayers.Function.bind(this.releaseLockedFeaturesFailure,this);new OpenLayers.Ajax.Request(this.layer.url,{method:'post',postBody:transaction,onComplete:success,onFailure:failure});},releaseLockedFeaturesSuccess:function(request){var response=request.responseText;this.layer.currentLockId=null;OpenLayers.Console.debug("TRANSACTION response: ");OpenLayers.Console.dirxml(request.responseXML);if(response.indexOf('ExceptionReport')==-1&&response.indexOf('Exception')==-1){for(var key in this.layer.lockedFeatures){var feature=this.layer.lockedFeatures[key];if(feature.CLASS_NAME=="OpenLayers.Feature.Vector"){var lockedFeature=this.layer.getFeatureByFeatureId(feature.fid);this.layer.eraseFeatures([lockedFeature]);this.layer.drawFeature(lockedFeature,OpenLayers.Feature.Vector.style['default']);feature.destroy();}} 620 621 this.layer.lockedFeatures.length=0;OpenLayers.Console.debug("all feature locks released...");this.layer.style=OpenLayers.Feature.Vector.style['default'];}else{OpenLayers.Console.debug("release features lock operation failed...locked features are not released...");} 621 OpenLayers.Console.debug("number of feature locked currently: "+this.layer.lockedFeatures.length);},releaseLockedFeaturesFailure:function(request){var response=request.responseText;this.layer.currentLockId=null;OpenLayers.Console.debug("TRANSACTION response: ");OpenLayers.Console.dirxml(request.responseXML);},loadFeaturesForRegion:function(success,failure){OpenLayers.loadURL(this.url,null,this,success);},loadFeaturesForRegion2:function(){var getFeatureRequest;var options={isWithLock:false,features:null};getFeatureRequest=OpenLayers.Util.WFS2Util.createWFSGetFeatureRequest(this.layer,options);OpenLayers.Console.debug("GET_FEATURE request: ");OpenLayers.Console.dirxml(getFeatureRequest);getFeatureRequest=OpenLayers.Ajax.serializeXMLToString(getFeatureRequest);var success=OpenLayers.Function.bind(this.requestSuccess,this);var failure=OpenLayers.Function.bind(this.requestFailure,this);new OpenLayers.Ajax.Request(this.layer.url,{method:'post',postBody:getFeatureRequest, onComplete:success,onFailure:failure});},requestSuccess:function(request){if(this.features){var doc=request.responseXML;OpenLayers.Console.debug("GET_FEATURE response...");if(!doc||request.fileType!="XML"){doc=OpenLayers.parseXMLString(request.responseText);}622 OpenLayers.Console.debug("number of feature locked currently: "+this.layer.lockedFeatures.length);},releaseLockedFeaturesFailure:function(request){var response=request.responseText;this.layer.currentLockId=null;OpenLayers.Console.debug("TRANSACTION response: ");OpenLayers.Console.dirxml(request.responseXML);},loadFeaturesForRegion:function(success,failure){OpenLayers.loadURL(this.url,null,this,success);},loadFeaturesForRegion2:function(){var getFeatureRequest;var options={isWithLock:false,features:null};getFeatureRequest=OpenLayers.Util.WFS2Util.createWFSGetFeatureRequest(this.layer,options);OpenLayers.Console.debug("GET_FEATURE request: ");OpenLayers.Console.dirxml(getFeatureRequest);getFeatureRequest=OpenLayers.Ajax.serializeXMLToString(getFeatureRequest);var success=OpenLayers.Function.bind(this.requestSuccess,this);var failure=OpenLayers.Function.bind(this.requestFailure,this);new OpenLayers.Ajax.Request(this.layer.url,{method:'post',postBody:getFeatureRequest,requestHeaders:["Content-type","text/xml;charset=ISO-8859-1"],onComplete:success,onFailure:failure});},requestSuccess:function(request){if(this.features){var doc=request.responseXML;OpenLayers.Console.debug("GET_FEATURE response...");if(!doc||request.fileType!="XML"){doc=OpenLayers.parseXMLString(request.responseText);} 622 623 if(this.layer.vectorMode){if(this.layer.params['VERSION']=='1.0.0'){var gml=new OpenLayers.Format.GML({'extractAttributes':this.layer.options.extractAttributes});}else if(this.layer.params['VERSION']=='1.1.0'){var gml=new OpenLayers.Format.GML3({'extractAttributes':this.layer.options['extractAttributes'],'featureTypeName':this.layer.options['typeName'],'featureNS':this.layer.options['featureNS'],'featurePrefix':this.layer.options['featurePrefix'],'geometry_column':this.layer.options['geometry_column'],'multiPolygonGeometryType':this.layer.options['multiPolygonGeometryType'],'multiLineStringGeometryType':this.layer.options['multiLineStringGeometryType'],'srsUrn':this.layer.options['srsUrn'],'swapAxis':this.layer.options['swapAxis']});} 623 624 this.layer.renderer.clear();this.layer.features.length=0;this.layer.addFeatures(gml.read(doc));OpenLayers.Console.debug("render locked features...number: "+this.layer.lockedFeatures.length);for(var key in this.layer.lockedFeatures){var feature=this.layer.lockedFeatures[key];if(feature.CLASS_NAME=="OpenLayers.Feature.Vector"){var lockedFeature=this.layer.getFeatureByFeatureId(feature.fid);this.layer.eraseFeatures([lockedFeature]);this.layer.drawFeature(lockedFeature,OpenLayers.Feature.Vector.style['locked']);}}}} … … 922 923 this.tile.draw();}},CLASS_NAME:"OpenLayers.Layer.WFS"});OpenLayers.Layer.WFS2=OpenLayers.Class(OpenLayers.Layer.Vector,OpenLayers.Layer.Markers,{isBaseLayer:false,tile:null,ratio:2,DEFAULT_PARAMS:{service:"WFS",version:"1.1.0",request:"GetFeature"},featureClass:null,vectorMode:true,encodeBBOX:false,extractAttributes:false,currentLockId:null,lockedFeatures:null,initialize:function(name,url,params,options){if(options==undefined){options={};} 923 924 if(options.featureClass||!OpenLayers.Layer.Vector||!OpenLayers.Feature.Vector){this.vectorMode=false;} 924 OpenLayers.Util.extend(options,{'reportError':false});var newArguments=[];newArguments.push(name,options);OpenLayers.Layer.Vector.prototype.initialize.apply(this,newArguments); if(!this.renderer||!this.vectorMode){this.vectorMode=false;if(!options.featureClass){options.featureClass=OpenLayers.Feature.WFS;}925 OpenLayers.Util.extend(options,{'reportError':false});var newArguments=[];newArguments.push(name,options);OpenLayers.Layer.Vector.prototype.initialize.apply(this,newArguments);this.style=OpenLayers.Util.extend({},options['style']);if(!this.renderer||!this.vectorMode){this.vectorMode=false;if(!options.featureClass){options.featureClass=OpenLayers.Feature.WFS;} 925 926 OpenLayers.Layer.Markers.prototype.initialize.apply(this,newArguments);} 926 927 if(this.params&&this.params.typename&&!this.options.typename){this.options.typename=this.params.typename;} … … 939 940 var data=this.writer.write(this.features);if(!data){return false;} 940 941 var url=this.url;if(OpenLayers.ProxyHost&&OpenLayers.String.startsWith(this.url,"http")){url=OpenLayers.ProxyHost+escape(this.url);} 941 var success=OpenLayers.Function.bind(this.commitSuccess,this);var failure=OpenLayers.Function.bind(this.commitFailure,this);OpenLayers.Console.debug("TRANSACTION request: ");OpenLayers.Console.dirxml(data);data=OpenLayers.Ajax.serializeXMLToString(data);new OpenLayers.Ajax.Request(url,{method:'post',postBody:data, onComplete:success,onFailure:failure});},commitSuccess:function(request){var response=request.responseText;OpenLayers.Console.debug("TRANSACTION response: ");OpenLayers.Console.dirxml(request.responseXML);for(var i=0;i<this.features.length;i++){this.features[i].state=null;}942 var success=OpenLayers.Function.bind(this.commitSuccess,this);var failure=OpenLayers.Function.bind(this.commitFailure,this);OpenLayers.Console.debug("TRANSACTION request: ");OpenLayers.Console.dirxml(data);data=OpenLayers.Ajax.serializeXMLToString(data);new OpenLayers.Ajax.Request(url,{method:'post',postBody:data,requestHeaders:["Content-type","text/xml;charset=ISO-8859-1"],onComplete:success,onFailure:failure});},commitSuccess:function(request){var response=request.responseText;OpenLayers.Console.debug("TRANSACTION response: ");OpenLayers.Console.dirxml(request.responseXML);for(var i=0;i<this.features.length;i++){this.features[i].state=null;} 942 943 if(this.currentLockId){this.currentLockId=null;} 943 944 if(this.tile){for(var key in this.lockedFeatures){var feature=this.lockedFeatures[key];if(feature.CLASS_NAME=="OpenLayers.Feature.Vector"){feature.destroy();}} … … 949 950 return feature;},getLockedFeatureByFeatureId:function(featureId){var lockedFeature=null;for(var i=0;i<this.lockedFeatures.length;++i){if(this.lockedFeatures[i].fid==featureId){lockedFeature=this.lockedFeatures[i];break;}} 950 951 return lockedFeature;},refresh:function(){if(this.tile){if(this.vectorMode){this.renderer.clear();this.features.length=0;}else{this.clearMarkers();this.markers.length=0;} 951 this.tile.draw();}},CLASS_NAME:"OpenLayers.Layer.WFS2"});OpenLayers.Layer.W MS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",exceptions:"application/vnd.ogc.se_inimage",format:"image/jpeg"},reproject:false,isBaseLayer:true,encodeBBOX:false,initialize:function(name,url,params,options){var newArguments=[];params=OpenLayers.Util.upperCaseObject(params);newArguments.push(name,url,params,options);OpenLayers.Layer.Grid.prototype.initialize.apply(this,newArguments);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if((options==null)||(!options.isBaseLayer)){this.isBaseLayer=false;}952 this.tile.draw();}},CLASS_NAME:"OpenLayers.Layer.WFS2"});OpenLayers.Layer.WFS2.style={'wfs-point':{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted"},'wfs-polyline':{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted"},'wfs-polygon':{fillColor:"#ee9900",fillOpacity:0.4,hoverFillColor:"white",hoverFillOpacity:0.8,strokeColor:"#ee9900",strokeOpacity:1,strokeWidth:1,strokeLinecap:"round",hoverStrokeColor:"red",hoverStrokeOpacity:1,hoverStrokeWidth:0.2,pointRadius:6,hoverPointRadius:1,hoverPointUnit:"%",pointerEvents:"visiblePainted"}};OpenLayers.Layer.WMS=OpenLayers.Class(OpenLayers.Layer.Grid,{DEFAULT_PARAMS:{service:"WMS",version:"1.1.1",request:"GetMap",styles:"",exceptions:"application/vnd.ogc.se_inimage",format:"image/jpeg"},reproject:false,isBaseLayer:true,encodeBBOX:false,initialize:function(name,url,params,options){var newArguments=[];params=OpenLayers.Util.upperCaseObject(params);newArguments.push(name,url,params,options);OpenLayers.Layer.Grid.prototype.initialize.apply(this,newArguments);OpenLayers.Util.applyDefaults(this.params,OpenLayers.Util.upperCaseObject(this.DEFAULT_PARAMS));if(this.params.TRANSPARENT&&this.params.TRANSPARENT.toString().toLowerCase()=="true"){if((options==null)||(!options.isBaseLayer)){this.isBaseLayer=false;} 952 953 if(this.params.FORMAT=="image/jpeg"){this.params.FORMAT=OpenLayers.Util.alphaHack()?"image/gif":"image/png";}}},destroy:function(){OpenLayers.Layer.Grid.prototype.destroy.apply(this,arguments);},clone:function(obj){if(obj==null){obj=new OpenLayers.Layer.WMS(this.name,this.url,this.params,this.options);} 953 954 obj=OpenLayers.Layer.Grid.prototype.clone.apply(this,[obj]);return obj;},getURL:function(bounds){bounds=this.adjustBounds(bounds);var imageSize=this.getImageSize();return this.getFullRequestString({BBOX:this.encodeBBOX?bounds.toBBOX():bounds.toArray(),WIDTH:imageSize.w,HEIGHT:imageSize.h});},addTile:function(bounds,position){return new OpenLayers.Tile.Image(this,position,bounds,null,this.tileSize);},mergeNewParams:function(newParams){var upperParams=OpenLayers.Util.upperCaseObject(newParams);var newArguments=[upperParams];OpenLayers.Layer.Grid.prototype.mergeNewParams.apply(this,newArguments);},getFullRequestString:function(newParams){var projectionCode=this.map.getProjection();if(!this.params.SRS){this.params.SRS=(projectionCode=="none")?null:projectionCode;}
