adds the ability for the user to give map options when reading a WMC document, those options are taken into account with higher priority\n this patch also introduces the new util method isElement, r=me,elemoine, thanks Eric (Closes #2339)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9794 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -71,9 +71,11 @@ OpenLayers.Format.WMC = OpenLayers.Class({
|
||||
* data - {String} or {DOMElement} data to read/parse.
|
||||
* options - {Object} The options object must contain a map property. If
|
||||
* the map property is a string, it must be the id of a dom element
|
||||
* where the new map will be placed. If the map property is an
|
||||
* where the new map will be placed. If the map property is an
|
||||
* <OpenLayers.Map>, the layers from the context document will be added
|
||||
* to the map.
|
||||
* to the map. If the map property is an object, this will be
|
||||
* considered as options to create the map with, in most cases, it would
|
||||
* have a div property.
|
||||
*
|
||||
* Returns:
|
||||
* {<OpenLayers.Map>} A map based on the context.
|
||||
@@ -95,7 +97,14 @@ OpenLayers.Format.WMC = OpenLayers.Class({
|
||||
if(options.map instanceof OpenLayers.Map) {
|
||||
map = this.mergeContextToMap(context, options.map);
|
||||
} else {
|
||||
map = this.contextToMap(context, options.map);
|
||||
var mapOptions = options.map;
|
||||
if(OpenLayers.Util.isElement(mapOptions) ||
|
||||
typeof mapOptions == "string") {
|
||||
// we assume mapOptions references a div
|
||||
// element
|
||||
mapOptions = {div: mapOptions};
|
||||
}
|
||||
map = this.contextToMap(context, mapOptions);
|
||||
}
|
||||
} else {
|
||||
// not documented as part of the API, provided as a non-API option
|
||||
@@ -231,17 +240,17 @@ OpenLayers.Format.WMC = OpenLayers.Class({
|
||||
*
|
||||
* Parameters:
|
||||
* context - {Object} The context object.
|
||||
* id - {String | Element} The dom element or element id that will contain
|
||||
* the map.
|
||||
* options - {Object} Default map options.
|
||||
*
|
||||
* Returns:
|
||||
* {<OpenLayers.Map>} A map based on the context object.
|
||||
*/
|
||||
contextToMap: function(context, id) {
|
||||
var map = new OpenLayers.Map(id, {
|
||||
contextToMap: function(context, options) {
|
||||
options = OpenLayers.Util.applyDefaults({
|
||||
maxExtent: context.maxExtent,
|
||||
projection: context.projection
|
||||
});
|
||||
}, options);
|
||||
var map = new OpenLayers.Map(options);
|
||||
map.addLayers(this.getLayersFromContext(context.layersContext));
|
||||
map.setCenter(
|
||||
context.bounds.getCenterLonLat(),
|
||||
|
||||
@@ -31,6 +31,20 @@ OpenLayers.Util.getElement = function() {
|
||||
return elements;
|
||||
};
|
||||
|
||||
/**
|
||||
* Function: isElement
|
||||
* A cross-browser implementation of "e instanceof Element".
|
||||
*
|
||||
* Parameters:
|
||||
* o - {Object} The object to test.
|
||||
*
|
||||
* Returns:
|
||||
* {Boolean}
|
||||
*/
|
||||
OpenLayers.Util.isElement = function(o) {
|
||||
return !!(o && o.nodeType === 1);
|
||||
};
|
||||
|
||||
/**
|
||||
* Maintain existing definition of $.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user