X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/afb4fedbd7b608dfbd2038f853daef26751fc248..8f4ed911e094d359ed630f034b76e02bc8d51705:/app/views/site/index.html.erb diff --git a/app/views/site/index.html.erb b/app/views/site/index.html.erb index d378a6ff7..fb8f4462e 100644 --- a/app/views/site/index.html.erb +++ b/app/views/site/index.html.erb @@ -1,7 +1,7 @@ -<% content_for :greeting do %> <% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %> - <%= link_to_function t('layouts.home'), "setPosition(#{@user.home_lat}, #{@user.home_lon}, 15)", { :title => t('layouts.home_tooltip') } %> | -<% end %> + <% content_for :greeting do %> + <%= link_to_function t('layouts.home'), "setPosition(#{@user.home_lat}, #{@user.home_lon}, 15)", { :title => t('layouts.home_tooltip') } %> | + <% end %> <% end %> <%= render :partial => 'sidebar', :locals => { :onopen => "resizeMap();", :onclose => "resizeMap();" } %> @@ -18,7 +18,7 @@
@@ -120,8 +120,7 @@ else end %> -<%= javascript_include_tag '/openlayers/OpenLayers.js' %> -<%= javascript_include_tag '/openlayers/OpenStreetMap.js' %> +<%= javascript_include_tag 'openlayers.js' %> <%= javascript_include_tag 'map.js' %> <%= render :partial => 'resize' %> @@ -136,8 +135,10 @@ end map = createMap("map"); <% unless STATUS == :api_offline or STATUS == :database_offline %> - map.dataLayer = new OpenLayers.Layer("<%= I18n.t 'browse.start_rjs.data_layer_name' %>", { "visibility": false }); - map.dataLayer.events.register("visibilitychanged", map.dataLayer, toggleData); + map.dataLayer = new OpenLayers.Layer("<%= I18n.t 'browse.start_rjs.data_layer_name' %>", { + visibility: false, + displayInLayerSwitcher: false + }); map.addLayer(map.dataLayer); <% end %> @@ -145,23 +146,21 @@ end <% if bbox %> var bbox = new OpenLayers.Bounds(<%= minlon %>, <%= minlat %>, <%= maxlon %>, <%= maxlat %>); - setMapExtent(bbox); + map.zoomToExtent(proj(bbox)); <% if box %> - Event.observe(window, "load", function() { addBoxToMap(bbox) }); + $(window).load(function() { addBoxToMap(bbox) }); <% end %> <% else %> var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>); + <% if params[:scale].to_f > 0 then -%> + var zoom = <%= scale_to_zoom params[:scale] %>; + <% else -%> var zoom = <%= zoom %>; - - <% if params[:scale] and params[:scale].length > 0 then %> - zoom = scaleToZoom(<%= params[:scale].to_f %>); - <% end %> + <% end -%> setMapCenter(centre, zoom); <% end %> - - updateLocation(); <% end %> <% if !layers.nil? and !layers.empty? %> @@ -179,29 +178,18 @@ end url += "/full"; <% end %> - Event.observe(window, "load", function() { addObjectToMap(url, <%= object_zoom %>) }); + $(window).load(function() { addObjectToMap(url, <%= object_zoom %>) }); <% end %> map.events.register("moveend", map, updateLocation); map.events.register("changelayer", map, updateLocation); + updateLocation(); handleResize(); } function toggleData() { - if (map.dataLayer.visibility) { - <%= remote_function :url => { :controller => 'browse', :action => 'start' } %> - } else if (map.dataLayer.active) { - closeSidebar(); - } - } - - function getPosition() { - return getMapCenter(); - } - - function getZoom() { - return getMapZoom(); + $.ajax({ url: "<%= url_for :controller => :browse, :action => :start %>" }); } function setPosition(lat, lon, zoom, min_lon, min_lat, max_lon, max_lat) { @@ -210,22 +198,23 @@ end 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.zoomToExtent(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; @@ -242,24 +231,24 @@ end } function remoteEditHandler(event) { - var extent = getMapExtent(); + var extent = unproj(map.getExtent()); var loaded = false; - $("linkloader").observe("load", function () { loaded = true; }); - $("linkloader").src = "http://127.0.0.1:8111/load_and_zoom?left=" + extent.left + "&top=" + extent.top + "&right=" + extent.right + "&bottom=" + extent.bottom; + $("#linkloader").load(function () { loaded = true; }); + $("#linkloader").attr("src", "http://127.0.0.1:8111/load_and_zoom?left=" + extent.left + "&top=" + extent.top + "&right=" + extent.right + "&bottom=" + extent.bottom); setTimeout(function () { - if (!loaded) alert("<%= escape_javascript(t('site.index.remote_failed')) %>"); + if (!loaded) alert("<%=j t('site.index.remote_failed') %>"); }, 1000); - event.stop(); + return false; } function installEditHandler() { - $("remoteanchor").observe("click", remoteEditHandler); + $("#remoteanchor").click(remoteEditHandler); <% if preferred_editor == "remote" %> - $("editanchor").observe("click", remoteEditHandler); + $("#editanchor").click(remoteEditHandler); <% if params[:action] == "edit" %> remoteEditHandler(); @@ -267,11 +256,11 @@ end <% end %> } - document.observe("dom:loaded", mapInit); - document.observe("dom:loaded", installEditHandler); - document.observe("dom:loaded", handleResize); + $(document).ready(mapInit); + $(document).ready(installEditHandler); + $(document).ready(handleResize); - Event.observe(window, "resize", function() { + $(window).resize(function() { var centre = map.getCenter(); var zoom = map.getZoom(); @@ -280,7 +269,19 @@ end map.setCenter(centre, zoom); }); - <% if params[:action] == 'export' %> - <%= remote_function :url => { :controller => 'export', :action => 'start' } %> - <% end %> + $(document).ready(function () { + $("#exportanchor").click(function (e) { + $.ajax({ url: "<%= url_for :controller => :export, :action => :start %>" }); + Event.stop(e); + }); + + <% if params[:action] == 'export' -%> + $.ajax({ url: "<%= url_for :controller => :export, :action => :start %>" }); + <% end -%> + + <% if params[:query] -%> + doSearch("<%= params[:query] %>"); + <% end %> + }); +// -->