Adjust how the parameters are calculated for the GETVISIBLEMAPEXTENT call for overlays so that existing parameters are safely overwritten with the required parameters for this call. r=me (Closes #1647)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7928 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -28,7 +28,7 @@ OpenLayers.Layer.MapGuide = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
* {Boolean} use tile server or request single tile image. Note that using
|
* {Boolean} use tile server or request single tile image. Note that using
|
||||||
* singleTile *and* isBaseLayer false is *not recommend*: it uses synchronous
|
* singleTile *and* isBaseLayer false is *not recommend*: it uses synchronous
|
||||||
* XMLHttpRequests to load tiles, and this will *lock up users browsers*
|
* XMLHttpRequests to load tiles, and this will *lock up users browsers*
|
||||||
* during requests.
|
* during requests if the server fails to respond.
|
||||||
**/
|
**/
|
||||||
singleTile: false,
|
singleTile: false,
|
||||||
|
|
||||||
@@ -63,18 +63,29 @@ OpenLayers.Layer.MapGuide = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
* Constructor: OpenLayers.Layer.MapGuide
|
* Constructor: OpenLayers.Layer.MapGuide
|
||||||
* Create a new Mapguide layer, either tiled or untiled.
|
* Create a new Mapguide layer, either tiled or untiled.
|
||||||
*
|
*
|
||||||
* For tiled layers, the 'groupName' and 'mapDefnition' options
|
* For tiled layers, the 'groupName' and 'mapDefinition' values
|
||||||
* must be specified as options.
|
* must be specified as parameters in the constructor.
|
||||||
*
|
*
|
||||||
* For untiled layers, specify either combination of 'mapName' and
|
* For untiled base layers, specify either combination of 'mapName' and
|
||||||
* 'session', or 'mapDefinition' and 'locale'.
|
* 'session', or 'mapDefinition' and 'locale'.
|
||||||
*
|
*
|
||||||
|
* For untiled overlay layers (singleTile=true and isBaseLayer=false),
|
||||||
|
* mapName and session are required parameters for the Layer constructor.
|
||||||
|
* Also NOTE: untiled overlay layers issues a synchronous AJAX request
|
||||||
|
* before the image request can be issued so the users browser may lock
|
||||||
|
* up if the MG Web tier does not respond in a timely fashion.
|
||||||
|
*
|
||||||
|
* NOTE: MapGuide OS uses a DPI value and degrees to meters conversion
|
||||||
|
* factor that are different than the defaults used in OpenLayers,
|
||||||
|
* so these must be adjusted accordingly in your application.
|
||||||
|
* See the MapGuide example for how to set these values for MGOS.
|
||||||
|
*
|
||||||
* Parameters:
|
* Parameters:
|
||||||
* name - {String} Name of the layer displayed in the interface
|
* name - {String} Name of the layer displayed in the interface
|
||||||
* url - {String} Location of the MapGuide mapagent executable
|
* url - {String} Location of the MapGuide mapagent executable
|
||||||
* (e.g. http://localhost:8008/mapguide/mapagent/mapagent.fcgi)
|
* (e.g. http://localhost:8008/mapguide/mapagent/mapagent.fcgi)
|
||||||
* params - {Object} hashtable of additional parameters to use. Some
|
* params - {Object} hashtable of additional parameters to use. Some
|
||||||
* parameters may require additional code on the serer. The ones that
|
* parameters may require additional code on the server. The ones that
|
||||||
* you may want to use are:
|
* you may want to use are:
|
||||||
* - mapDefinition - {String} The MapGuide resource definition
|
* - mapDefinition - {String} The MapGuide resource definition
|
||||||
* (e.g. Library://Samples/Gmap/Maps/gmapTiled.MapDefinition)
|
* (e.g. Library://Samples/Gmap/Maps/gmapTiled.MapDefinition)
|
||||||
@@ -116,6 +127,7 @@ OpenLayers.Layer.MapGuide = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
this.params,
|
this.params,
|
||||||
this.SINGLE_TILE_PARAMS
|
this.SINGLE_TILE_PARAMS
|
||||||
);
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//initialize for tiled layers
|
//initialize for tiled layers
|
||||||
OpenLayers.Util.applyDefaults(
|
OpenLayers.Util.applyDefaults(
|
||||||
@@ -196,16 +208,15 @@ OpenLayers.Layer.MapGuide = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
|
|
||||||
//but we first need to call GETVISIBLEMAPEXTENT to set the extent
|
//but we first need to call GETVISIBLEMAPEXTENT to set the extent
|
||||||
var getVisParams = {};
|
var getVisParams = {};
|
||||||
|
getVisParams = OpenLayers.Util.extend(getVisParams, params);
|
||||||
getVisParams.operation = "GETVISIBLEMAPEXTENT";
|
getVisParams.operation = "GETVISIBLEMAPEXTENT";
|
||||||
getVisParams.version = "1.0.0";
|
getVisParams.version = "1.0.0";
|
||||||
getVisParams.session = this.params.session;
|
getVisParams.session = this.params.session;
|
||||||
getVisParams.mapName = this.params.mapName;
|
getVisParams.mapName = this.params.mapName;
|
||||||
getVisParams.format = 'text/xml';
|
getVisParams.format = 'text/xml';
|
||||||
getVisParams = OpenLayers.Util.extend(getVisParams, params);
|
url = this.getFullRequestString( getVisParams );
|
||||||
|
|
||||||
OpenLayers.Request.GET({
|
OpenLayers.Request.GET({url: url, async: false});
|
||||||
url: this.url, params: getVisParams, async: false
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//construct the full URL
|
//construct the full URL
|
||||||
@@ -225,7 +236,7 @@ OpenLayers.Layer.MapGuide = OpenLayers.Class(OpenLayers.Layer.Grid, {
|
|||||||
tilerow: rowidx,
|
tilerow: rowidx,
|
||||||
scaleindex: this.resolutions.length - this.map.zoom - 1
|
scaleindex: this.resolutions.length - this.map.zoom - 1
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return url;
|
return url;
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user