Simplify further by using OSM.home
authorJohn Firebaugh <john.firebaugh@gmail.com>
Fri, 5 Oct 2012 19:59:03 +0000 (12:59 -0700)
committerTom Hughes <tom@compton.nu>
Fri, 5 Oct 2012 21:37:21 +0000 (22:37 +0100)
app/assets/javascripts/user.js
app/views/user/account.html.erb
app/views/user/view.html.erb

index 384dba93f9978189e8c627202064540bafefbb39..77cb86a8d210b670e9a9c2ba1a350f678001d936 100644 (file)
@@ -1,14 +1,17 @@
 $(document).ready(function () {
-  var params = $("#map").data();
   var map = createMap("map");
 
-  setMapCenter(new OpenLayers.LonLat(params.lon, params.lat), params.zoom);
+  if (OSM.home) {
+    setMapCenter(new OpenLayers.LonLat(OSM.home.lon, OSM.home.lat), 12);
+  } else {
+    setMapCenter(new OpenLayers.LonLat(0, 0), 0);
+  }
 
   if ($("#map").hasClass("set_location")) {
     var marker;
 
-    if (params.marker) {
-      marker = addMarkerToMap(new OpenLayers.LonLat(params.lon, params.lat));
+    if (OSM.home) {
+      marker = addMarkerToMap(new OpenLayers.LonLat(OSM.home.lon, OSM.home.lat));
     }
 
     map.events.register("click", map, function (e) {
@@ -27,8 +30,6 @@ $(document).ready(function () {
       }
     });
   } else {
-    addMarkerToMap(new OpenLayers.LonLat(params.lon, params.lat), null, params.marker.description);
-
     $("[data-user]").each(function () {
       var user = $(this).data('user');
       if (user.lon && user.lat) {
index 80c8c0e49a9b36de2547185a017991861daf523f..6745f1b34fe248c18afac2d8cca5dac7c0db36a7 100644 (file)
       <% content_for :head do %>
         <%= javascript_include_tag "user" %>
       <% end %>
-      <%
-         home = @user.home_lat && @user.home_lon
-         data = {
-           :lon => @user.home_lon || 0,
-           :lat => @user.home_lat || 20,
-           :zoom => home ? 12 : 1,
-           :marker => !!home
-         }
-      %>
-      <%= content_tag "div", "", :id => "map", :class => "user_map set_location", :data => data %>
+      <%= content_tag "div", "", :id => "map", :class => "user_map set_location" %>
     </td>
   </tr>
   
index 04c78a9002afac9ff058aed6312da420fb7c8110..e209f853a90310532c7f2e747881ac04be8dedee 100644 (file)
       <%= javascript_include_tag "user" %>
     <% end %>
     <%
-      data = {
+      user_data = {
         :lon => @user.home_lon,
         :lat => @user.home_lat,
-        :zoom => 12,
-        :marker => {
-          :description => render(:partial => "popup", :object => @user, :locals => {:type => "your location"})
-        }
+        :icon => "marker.png",
+        :description => render(:partial => "popup", :object => @user, :locals => {:type => "your location"})
       }
     %>
-    <%= content_tag "div", "", :id => "map", :class => "user_map", :data => data %>
+    <%= content_tag "div", "", :id => "map", :class => "user_map", :data => {:user => user_data} %>
   <% end %>
 
   <% friends = @this_user.friends.collect { |f| f.befriendee } %>