X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e46c82fe3db59ce59206053a26d0207931f2f68a..886c8597841fb3e2a36927b49b189822b57f155e:/app/views/site/index.html.erb?ds=sidebyside diff --git a/app/views/site/index.html.erb b/app/views/site/index.html.erb index 40a7a3fbc..636e6929c 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/index.html.erb @@ -170,7 +170,8 @@ end url += "/full"; <% end %> - addObjectToMap(url, <%= object_zoom %>); + // IE requires Vector layers be initialised on page load, and not under deferred script conditions + Event.observe(window, 'load', function() { addObjectToMap(url, <%= object_zoom %>) }); <% end %> map.events.register("moveend", map, updateLocation); @@ -182,7 +183,7 @@ end function toggleData() { if (map.dataLayer.visibility) { <%= remote_function :url => { :controller => 'browse', :action => 'start' } %> - } else { + } else if (map.dataLayer.active) { closeSidebar(); } } @@ -191,10 +192,20 @@ end return getMapCenter(); } - function setPosition(lat, lon, zoom) { + function getZoom() { + return getMapZoom(); + } + + function setPosition(lat, lon, zoom, min_lon, min_lat, max_lon, max_lat) { var centre = new OpenLayers.LonLat(lon, lat); - setMapCenter(centre, zoom); + if (min_lon && min_lat && max_lon && max_lat) { + var bbox = new OpenLayers.Bounds(min_lon, min_lat, max_lon, max_lat); + + setMapExtent(bbox); + } else { + setMapCenter(centre, zoom); + } if (marker) removeMarkerFromMap(marker);