add support for anchor-based permalink, p=sbrunner, r=me (closes #2785)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@11170 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Éric Lemoine
2011-02-21 11:53:08 +00:00
parent 3fce968f2a
commit 7e18475a0b
7 changed files with 220 additions and 14 deletions
+17 -1
View File
@@ -64,6 +64,22 @@ OpenLayers.Control.ArgParser = OpenLayers.Class(OpenLayers.Control, {
OpenLayers.Control.prototype.initialize.apply(this, arguments);
},
getParameters: function(url) {
url = url || window.location.href;
var parameters = OpenLayers.Util.getParameters(url);
// If we have an chchor in the url use it to split the url
var index = url.indexOf('#');
if (index > 0) {
// create an url to parce on the getParameters
url = '?' + url.substring(index + 1, url.length);
OpenLayers.Util.extend(parameters,
OpenLayers.Util.getParameters(url));
}
return parameters;
},
/**
* Method: setMap
* Set the map property for the control.
@@ -92,7 +108,7 @@ OpenLayers.Control.ArgParser = OpenLayers.Class(OpenLayers.Control, {
}
if (i == this.map.controls.length) {
var args = OpenLayers.Util.getParameters();
var args = this.getParameters();
// Be careful to set layer first, to not trigger unnecessary layer loads
if (args.layers) {
this.layers = args.layers;