X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/a473b4ebd93f5d79481e7c494fa98b69decb38f7..88105d9c643519e02082ba9cc5044bb0dfdcb7b9:/app/views/site/index.rhtml diff --git a/app/views/site/index.rhtml b/app/views/site/index.rhtml index 97eeda5a8..656db99c8 100644 --- a/app/views/site/index.rhtml +++ b/app/views/site/index.rhtml @@ -8,6 +8,14 @@ <%= render :partial => 'key' %> <%= render :partial => 'search' %> + +
@@ -21,7 +29,7 @@ Licensed under the Creative Commons Attribution-Share Alike 2.0 license -by the OpenStreetMap project and it's contributors. +by the OpenStreetMap project and its contributors. @@ -86,21 +94,23 @@ by the OpenStreetMap project and it's contributors. function mapInit(){ map = createMap("map"); + map.dataLayer = new OpenLayers.Layer("Data", { "visibility": false }); + map.dataLayer.events.register("visibilitychanged", map.dataLayer, toggleData); + map.addLayer(map.dataLayer); + <% if bbox %> - var min = lonLatToMercator(new OpenLayers.LonLat(<%= minlon %>, <%= minlat %>)); - var max = lonLatToMercator(new OpenLayers.LonLat(<%= maxlon %>, <%= maxlat %>)); - var bbox = new OpenLayers.Bounds(min.lon, min.lat, max.lon, max.lat); + var bbox = new OpenLayers.Bounds(<%= minlon %>, <%= minlat %>, <%= maxlon %>, <%= maxlat %>); - map.zoomToExtent(bbox); + setMapExtent(bbox); <% else %> - var centre = lonLatToMercator(new OpenLayers.LonLat(<%= lon %>, <%= lat %>)); + 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() %>); <% end %> - map.setCenter(centre, zoom); + setMapCenter(centre, zoom); <% end %> <% if layers %> @@ -108,7 +118,7 @@ by the OpenStreetMap project and it's contributors. <% end %> <% if marker %> - marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>))); + marker = addMarkerToMap(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>)); <% end %> map.events.register("zoomend", map, updateKey); @@ -120,14 +130,22 @@ by the OpenStreetMap project and it's contributors. handleResize(); } + function toggleData() { + if (map.dataLayer.visibility) { + <%= remote_function :url => { :controller => 'browse', :action => 'start' } %> + } else { + closeSidebar(); + } + } + function getPosition() { - return mercatorToLonLat(map.getCenter()); + return getMapCenter(); } function setPosition(lat, lon, zoom) { - var centre = lonLatToMercator(new OpenLayers.LonLat(lon, lat)); + var centre = new OpenLayers.LonLat(lon, lat); - map.setCenter(centre, zoom); + setMapCenter(centre, zoom); if (marker) removeMarkerFromMap(marker); @@ -136,7 +154,7 @@ by the OpenStreetMap project and it's contributors. } function updateLocation() { - var lonlat = mercatorToLonLat(map.getCenter()); + var lonlat = getMapCenter(); var zoom = map.getZoom(); var layers = getMapLayers(); @@ -177,9 +195,14 @@ by the OpenStreetMap project and it's contributors. resizeMap(); } - - window.onresize = handleResize; mapInit(); + + window.onload = handleResize; + window.onresize = handleResize; + + <% if params['action'] == 'export' %> + <%= remote_function :url => { :controller => 'export', :action => 'start' } %> + <% end %> // -->