- function toggleData() {
- if (map.dataLayer.visibility) {
- <%= remote_function :url => { :controller => 'browse', :action => 'start' } %>
- } else {
- closeSidebar();
- }
- }
-
- function getPosition() {
- return getMapCenter();
- }
-
- function setPosition(lat, lon, zoom) {
- var centre = new OpenLayers.LonLat(lon, lat);
+ $(document).ready(function () {
+ $("#show_data").click(function () {
+ $.ajax({ url: "<%= url_for :controller => :browse, :action => :start %>" });
+ });
+
+ $("body").on("click", "a.set_position", function () {
+ var lat = parseFloat($(this).attr("data-lat"));
+ var lon = parseFloat($(this).attr("data-lon"));
+ var zoom = parseInt($(this).attr("data-zoom"));
+ var min_lon = parseFloat($(this).attr("data-min-lon"));
+ var min_lat = parseFloat($(this).attr("data-min-lat"));
+ var max_lon = parseFloat($(this).attr("data-max-lon"));
+ var max_lat = parseFloat($(this).attr("data-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);
+
+ map.zoomToExtent(proj(bbox));
+ } else {
+ setMapCenter(centre, zoom);
+ }