X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/a03c584a98f3e27eb9877121c2011393a250c9f7..4d8ea0eed0d47b3547f222fbc47524328bbd23a7:/app/views/site/index.rhtml?ds=sidebyside diff --git a/app/views/site/index.rhtml b/app/views/site/index.rhtml index edd755ddb..bd114a6b3 100644 --- a/app/views/site/index.rhtml +++ b/app/views/site/index.rhtml @@ -21,7 +21,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 +86,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 +110,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 +122,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 +146,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(); @@ -182,5 +192,9 @@ by the OpenStreetMap project and it's contributors. window.onload = handleResize; window.onresize = handleResize; + + <% if params['action'] == 'export' %> + <%= remote_function :url => { :controller => 'export', :action => 'start' } %> + <% end %> // -->