]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/diary_entry/edit.html.erb
Add a small buffer to the extent before passing it to the remote control
[rails.git] / app / views / diary_entry / edit.html.erb
index 46d10790773e16c5b2521b11f92e7f198c8ad896..b5abd667b3bb148a596e9f7065328823f08a9f90 100644 (file)
@@ -3,7 +3,7 @@
 <%= error_messages_for 'diary_entry' %>
 
 <% form_for :diary_entry do |f| %>
-  <table>
+  <table class="diary_entry">
     <tr valign="top">
       <td class="fieldName"><%= t 'diary_entry.edit.subject' -%></td>
       <td><%= f.text_field :title, :size => 60 %></td>
@@ -19,7 +19,7 @@
     <tr valign="top">
       <td class="fieldName"><%= t 'diary_entry.edit.location' -%></td>
       <td>
-        <div id="map" style="border: 1px solid black; position: relative; width : 90%; height : 400px; display: none;"></div>
+        <div id="map"></div>
         <span class="location"><%= t 'diary_entry.edit.latitude' -%> <%= f.text_field :latitude, :size => 20, :id => "latitude" %> <%= t 'diary_entry.edit.longitude' -%> <%= f.text_field :longitude, :size => 20, :id => "longitude" %></span>
         <a href="javascript:openMap()" id="usemap"><%= t 'diary_entry.edit.use_map_link' -%></a>
         <br/><br/>
     <tr>
       <td></td>
       <td>
-         <%= submit_tag t('diary_entry.edit.save_button') %>
-         <%# TODO: button should say 'publish' or 'save changes' depending on new/edit state %>
+        <%= submit_tag t('diary_entry.edit.save_button') %>
+        <%# TODO: button should say 'publish' or 'save changes' depending on new/edit state %>
       </td>
     </tr>
   </table>
 <% end %>
 
-<% if @user.home_lat.nil? or @user.home_lon.nil? %>
+<% if @diary_entry.latitude and @diary_entry.longitude %>
+  <% lon = @diary_entry.longitude %>
+  <% lat = @diary_entry.latitude %>
+  <% zoom = '12' %>
+<% elsif @user.home_lat.nil? or @user.home_lon.nil? %>
   <% lon = h(params['lon'] || '-0.1') %>
   <% lat = h(params['lat'] || '51.5') %>
   <% zoom = h(params['zoom'] || '4') %> 
 
   OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>");
 
-  function init() {
-    var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
-    var zoom = <%= zoom %>;
-
-    var map = createMap("map");
-
-    setMapCenter(centre, zoom);
-
-    map.events.register("click", map, setLocation);
-  }        
-
   function setLocation( e ) { 
     closeMapPopup();
 
     var lonlat = getEventPosition(e);
 
-    document.getElementById('latitude').value = lonlat.lat;
-    document.getElementById('longitude').value = lonlat.lon;
+    $("latitude").value = lonlat.lat;
+    $("longitude").value = lonlat.lon;
 
     if (marker) {
       removeMarkerFromMap(marker);
   function openMap() {
     $("map").style.display = "block";
     $("usemap").style.display = "none";
-  }
 
-  window.onload = init;
+    var centre = new OpenLayers.LonLat(<%= lon %>, <%= lat %>);
+    var zoom = <%= zoom %>;
+
+    var map = createMap("map");
+
+    setMapCenter(centre, zoom);
+
+    <% if @diary_entry.latitude and @diary_entry.longitude %>
+    marker = addMarkerToMap(centre, null, "<%= t 'diary_entry.edit.marker_text' -%>");
+    <% end %>
+
+    map.events.register("click", map, setLocation);
+  }
 // -->
 </script>