X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/2408dd333f43c98c23c5539e90b327055a06659a..5cd05017a39fe1e161e7db5387d465324f25dde5:/app/views/site/index.rhtml diff --git a/app/views/site/index.rhtml b/app/views/site/index.rhtml index dc488089d..bbd1a8a77 100644 --- a/app/views/site/index.rhtml +++ b/app/views/site/index.rhtml @@ -1,3 +1,13 @@ +<% content_for :greeting do %> +<% if @user and !@user.home_lon.nil? and !@user.home_lat.nil? %> +<%= link_to_function 'home', "setPosition(#{@user.home_lat}, #{@user.home_lon}, 10)" %> | +<% end %> +<% end %> + +<% content_for :left_menu do %> +<%= link_to "Map key", "http://wiki.openstreetmap.org/index.php/Map_Key" %> +<% end %> + <%= render :partial => 'search', :locals => { :onopen => "resizeMap();", :onclose => "resizeMap();" } %>
@@ -33,11 +43,20 @@ <% lat = @user.home_lat %> <% zoom = '10' %> <% else %> +<% session[:location] = OSM::IPLocation(request.env['REMOTE_ADDR']) unless session[:location] %> +<% if session[:location] %> +<% bbox = true %> +<% minlon = session[:location][:minlon] %> +<% minlat = session[:location][:minlat] %> +<% maxlon = session[:location][:maxlon] %> +<% maxlat = session[:location][:maxlat] %> +<% else %> <% lon = '-0.1' %> <% lat = '51.5' %> <% zoom = params['zoom'] || '5' %> <% layers = params['layers'] %> <% end %> +<% end %> <%= javascript_include_tag 'map.js' %> @@ -69,20 +88,24 @@ map.setCenter(centre, zoom); <% end %> - <% if marker %> - marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>))); - <% end %> - <% if layers %> setMapLayers("<%= layers %>"); <% end %> + <% if marker %> + marker = addMarkerToMap(lonLatToMercator(new OpenLayers.LonLat(<%= mlon %>, <%= mlat %>))); + <% end %> + map.events.register("moveend", map, updateLocation); updateLocation(); handleResize(); } + function getPosition() { + return mercatorToLonLat(map.getCenter()); + } + function setPosition(lat, lon, zoom) { var centre = lonLatToMercator(new OpenLayers.LonLat(lon, lat)); @@ -91,7 +114,7 @@ if (marker) removeMarkerFromMap(marker); - marker = addMarkerToMap(centre); + marker = addMarkerToMap(centre, getArrowIcon()); } function updateLocation() {