diff options
author | etienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864> | 2010-04-06 10:53:03 +0000 |
---|---|---|
committer | etienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864> | 2010-04-06 10:53:03 +0000 |
commit | 88a7375df25523315c06229c033646e51d7a0fdd (patch) | |
tree | b8ca24c053998f72ad97547c293c234b7b8febb2 | |
parent | ae08e659b93f0fcf031923e13ca9ee2c5d8f2a10 (diff) | |
download | Chimère-88a7375df25523315c06229c033646e51d7a0fdd.tar.bz2 Chimère-88a7375df25523315c06229c033646e51d7a0fdd.zip |
Make projections coherent in shortcuts
git-svn-id: http://www.peacefrogs.net/svn/chimere/trunk@79 9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864
-rw-r--r-- | chimere/settings.py | 1 | ||||
-rw-r--r-- | chimere/static/base.js | 6 | ||||
-rw-r--r-- | chimere/static/main_map.js | 18 | ||||
-rw-r--r-- | chimere/templates/detail.html | 2 |
4 files changed, 14 insertions, 13 deletions
diff --git a/chimere/settings.py b/chimere/settings.py index 6afb2af..15cb262 100644 --- a/chimere/settings.py +++ b/chimere/settings.py @@ -23,6 +23,7 @@ EPSG_PROJECTION = 900913 # chimere use the same projection to save its data in the database EPSG_DISPLAY_PROJECTION = 4326 # to restrict the map to a defined bounding box set it here +# (left, bottom, right, top) RESTRICTED_EXTENT = None # dynamic load of categories on the main map DYNAMIC_CATEGORIES = False diff --git a/chimere/static/base.js b/chimere/static/base.js index 91710af..91ec310 100644 --- a/chimere/static/base.js +++ b/chimere/static/base.js @@ -58,7 +58,9 @@ function saveExtent() { if(!map) return; var extent_key = 'MAP_EXTENT'; if (area_name){ extent_key = extent_key + '_' + area_name; } - document.cookie = extent_key + "=" + map.getExtent().toArray().join('_') + var extent = map.getExtent().transform(map.getProjectionObject(), + epsg_display_projection); + document.cookie = extent_key + "=" + extent.toArray().join('_') + ';path="/"'; } @@ -89,11 +91,11 @@ function zoomToCurrentExtent(map){ else if (OpenLayers && default_area && default_area.length == 4){ extent = new OpenLayers.Bounds(default_area[0], default_area[1], default_area[2], default_area[3]); - extent.transform(epsg_display_projection, epsg_projection); } else{ return; } + extent.transform(epsg_display_projection, epsg_projection); map.zoomToExtent(extent, true); return true; } diff --git a/chimere/static/main_map.js b/chimere/static/main_map.js index 66ed27f..8d10185 100644 --- a/chimere/static/main_map.js +++ b/chimere/static/main_map.js @@ -177,8 +177,9 @@ function loadLayersFromJSON(layer_markers, layer_vectors, geo_objects){ } /* zoom to an area */ -function zoomToArea(top, left, bottom, right){ +function zoomToArea(left, top, right, bottom){ var bounds = new OpenLayers.Bounds(left, bottom, right, top); + bounds.transform(epsg_display_projection, epsg_projection); map.zoomToExtent(bounds, true); loadCategories(); } @@ -431,19 +432,12 @@ function createParams(center, zoom, layers) { // Break out of this function, and simply return the params from the // base link. if (center) { + center.transform(epsg_projection, epsg_display_projection); //zoom params.zoom = zoom || this.map.getZoom(); //lon,lat var lat = center.lat; var lon = center.lon; - if (this.displayProjection) { - var mapPosition = OpenLayers.Projection.transform( - { x: lon, y: lat }, - this.map.getProjectionObject(), - this.displayProjection ); - lon = mapPosition.x; - lat = mapPosition.y; - } params.lat = Math.round(lat*100000)/100000; params.lon = Math.round(lon*100000)/100000; //layers @@ -510,7 +504,10 @@ function init(){ projection: new OpenLayers.Projection('EPSG:4326'), theme:null }; - if (restricted_extent){options['restrictedExtent'] = restricted_extent;} + if (restricted_extent){ + restricted_extent.transform(epsg_display_projection, epsg_projection); + options['restrictedExtent'] = restricted_extent; + } map = new OpenLayers.Map('map', options); permalink = new OpenLayers.Control.Permalink("permalink"); permalink.createParams = createParams; @@ -528,6 +525,7 @@ function init(){ /* if from a permalink */ if (p_zoom) { var p_centerLonLat = new OpenLayers.LonLat(p_lon, p_lat); + p_centerLonLat.transform(epsg_display_projection, epsg_projection); map.setCenter(p_centerLonLat, p_zoom); if (p_display_submited) { document.getElementById('display_submited_check').checked = true; diff --git a/chimere/templates/detail.html b/chimere/templates/detail.html index e387dcc..fd8712d 100644 --- a/chimere/templates/detail.html +++ b/chimere/templates/detail.html @@ -9,7 +9,7 @@ <a href='{{share_network.1}}' onclick='processTinyUrl("{{share_network.1}}", {{marker.id}}); return false;'>{{share_network.0}}</a> {% endfor %}{%else%} <ul id='share'><li>{% trans "Share"%}</li>{% for share_network in share_networks %} -<li><a href='{{share_network.1}}' onclick='processTinyUrl("{{share_network.1}}, {{marker.id}}"); return false;'><img src="{{share_network.2}}" alt="{{share_network.0}}"/></a></li> +<li><a href='{{share_network.1}}' onclick='processTinyUrl("{{share_network.1}}", {{marker.id}}); return false;'><img src="{{share_network.2}}" alt="{{share_network.0}}"/></a></li> {% endfor %}</ul>{% endif %} {% endif %} </div> |