diff options
| author | etienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864> | 2010-03-07 17:20:04 +0000 |
|---|---|---|
| committer | etienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864> | 2010-03-07 17:20:04 +0000 |
| commit | 7dbdebc6d28415e0d735fdd235909666f125ad4b (patch) | |
| tree | d4a6fa8920e652e41d42fce1936438f16ee9f66a /chimere/static/base.js | |
| parent | 7f7c333f114eee34dd089543e84028eb18f448c4 (diff) | |
| download | Chimère-7dbdebc6d28415e0d735fdd235909666f125ad4b.tar.bz2 Chimère-7dbdebc6d28415e0d735fdd235909666f125ad4b.zip | |
Dynamic management of area with URLs - #84
git-svn-id: http://www.peacefrogs.net/svn/chimere/trunk@69 9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864
Diffstat (limited to 'chimere/static/base.js')
| -rw-r--r-- | chimere/static/base.js | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/chimere/static/base.js b/chimere/static/base.js index 3c7c575..449cc0f 100644 --- a/chimere/static/base.js +++ b/chimere/static/base.js @@ -1,5 +1,5 @@ /* base function shared by some pages */ -/* Copyright (C) 2009 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +/* Copyright (C) 2009-2010 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -17,6 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. See the file COPYING for details. */ +var default_area; +var area_name; + /* show a block panel */ function show(id){ document.getElementById(id).style.display = 'block'; @@ -30,7 +33,9 @@ function hide(id){ function saveExtent() { /* save the current extent in a cookie */ if(!map) return; - document.cookie = "MAP_EXTENT=" + map.getExtent().toArray().join('_') + var extent_key = 'MAP_EXTENT'; + if (area_name){ extent_key = extent_key + '_' + area_name; } + document.cookie = extent_key + "=" + map.getExtent().toArray().join('_') + ';path="/"'; } @@ -38,10 +43,12 @@ function getExtent() { /* get the current extent from a cookie */ var cookies = document.cookie.split(';'); var map_extent; + var extent_key = 'MAP_EXTENT'; + if (area_name){ extent_key = extent_key + '_' + area_name; } for (i in cookies){ var items = cookies[i].split('='); key = items[0].split(' ').join(''); - if (key == 'MAP_EXTENT'){ + if (key == extent_key){ map_extent = items[1].split('_'); } } @@ -51,13 +58,18 @@ function getExtent() { function zoomToCurrentExtent(map){ /* zoom to current extent */ var current_extent = getExtent(); + var extent; if (OpenLayers && current_extent && current_extent.length == 4){ extent = new OpenLayers.Bounds(current_extent[0], current_extent[1], current_extent[2], current_extent[3]); - map.zoomToExtent(extent, true); - return true; + } + else if (OpenLayers && default_area && default_area.length == 4){ + extent = new OpenLayers.Bounds(default_area[1], default_area[0], + default_area[3], default_area[2]); } else{ return; } + map.zoomToExtent(extent, true); + return true; } |
