[OpenLayers-Users] Having Google map api and arcGIS server. Any better ideas?

Phil Scadden p.scadden at gns.cri.nz
Sun Apr 28 21:22:21 PDT 2013


ArcGIS Server doesnt like EPSG:900913 and maps doesnt like EPSG:3857.  
Its a pain.

I got around this with a couple of overrides. Has anyone found a better way?

Ext.override(OpenLayers.Layer.WMS, {
     getFullRequestString:function(newParams, altUrl) {
         var projectionCode = this.map.getProjection();
         if((projectionCode == 'EPSG:900913') && 
this.url.search(/arcgis/)>=0) {
             this.params.SRS = 'EPSG:3857';
         } else {
             this.params.SRS = (projectionCode == "none") ? null 
:projectionCode;
         }
         return OpenLayers.Layer.Grid.prototype.getFullRequestString.apply(
                                                    this, arguments);
     }
});

Ext.override(OpenLayers.Request, {
     GET:function(config) {
         if((config.params.SRS == 'EPSG:900913') && 
config.url.search(/arcgis/)>=0) {
             config.params.SRS = 'EPSG:3857';
         }
         config = OpenLayers.Util.extend(config, {method: "GET"});
         return OpenLayers.Request.issue(config);
     }
});

And for WFS protocol, create with:
     var srs = (currProj=='EPSG:900913' && 
source.serverUrl.search(/arcgis/)>=0) ? 'EPSG:3857' : currProj;
     if(spatialQueryNode.type=='wfs') {
             source.wfsProtocol = new OpenLayers.Protocol.WFS.v1_1_0({
                 url: spatialQueryNode.url,
                 featurePrefix: spatialQueryNode.featurePrefix,
                 featureType: spatialQueryNode.featureType,
                 geometryName :geomName,
                 srsName: srs
             });

-- 
Phil Scadden, Senior Scientist GNS Science Ltd 764 Cumberland St, 
Private Bag 1930, Dunedin, New Zealand Ph +64 3 4799663, fax +64 3 477 5232

Notice: This email and any attachments are confidential.
If received in error please destroy and immediately notify us.
Do not copy or disclose the contents.



More information about the Users mailing list