<% if bbox %>
var bbox = new OpenLayers.Bounds(<%= minlon %>, <%= minlat %>, <%= maxlon %>, <%= maxlat %>);
- setMapExtent(bbox);
+ map.setExtent(proj(bbox));
<% if box %>
$(window).load(function() { addBoxToMap(bbox) });
var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
var zoom = <%= zoom %>;
- <% if params[:scale] and params[:scale].length > 0 then %>
- zoom = scaleToZoom(<%= params[:scale].to_f %>);
+ <% if params[:scale] and params[:scale].length > 0 and params[:scale].to_f > 0 then %>
+ zoom = <%= Math.log(360.0 / (params[:scale].to_f * 512.0)) / Math.log(2.0) %>;
<% end %>
setMapCenter(centre, zoom);
}
}
- function getPosition() {
- return getMapCenter();
- }
-
- function getZoom() {
- return getMapZoom();
- }
-
function setPosition(lat, lon, zoom, min_lon, min_lat, max_lon, max_lat) {
var centre = new OpenLayers.LonLat(lon, lat);
if (min_lon && min_lat && max_lon && max_lat) {
var bbox = new OpenLayers.Bounds(min_lon, min_lat, max_lon, max_lat);
- setMapExtent(bbox);
+ map.setExtent(proj(bbox));
} else {
setMapCenter(centre, zoom);
}
- if (marker)
+ if (marker) {
removeMarkerFromMap(marker);
+ }
marker = addMarkerToMap(centre, getArrowIcon());
}
function updateLocation() {
- var lonlat = getMapCenter();
+ var lonlat = unproj(map.getCenter());
var zoom = map.getZoom();
var layers = getMapLayers();
- var extents = getMapExtent();
+ var extents = unproj(map.getExtent());
var expiry = new Date();
var objtype;
var objid;
}
function remoteEditHandler(event) {
- var extent = getMapExtent();
+ var extent = unproj(map.getExtent());
var loaded = false;
$("#linkloader").load(function () { loaded = true; });