summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoretienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864>2010-04-06 10:53:03 +0000
committeretienne <etienne@9215b0d5-fb2c-4bbd-8d3e-bd2e9090e864>2010-04-06 10:53:03 +0000
commit88a7375df25523315c06229c033646e51d7a0fdd (patch)
treeb8ca24c053998f72ad97547c293c234b7b8febb2
parentae08e659b93f0fcf031923e13ca9ee2c5d8f2a10 (diff)
downloadChimè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.py1
-rw-r--r--chimere/static/base.js6
-rw-r--r--chimere/static/main_map.js18
-rw-r--r--chimere/templates/detail.html2
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>