Fixed note creation halo to update on dragging
authorAaron Lidman <aaronlidman@gmail.com>
Thu, 14 Nov 2013 17:57:48 +0000 (09:57 -0800)
committerAaron Lidman <aaronlidman@gmail.com>
Thu, 14 Nov 2013 17:57:48 +0000 (09:57 -0800)
app/assets/javascripts/index/new_note.js.erb

index 4c728d2f5e3b748160d258aaf3fe6441ee03d60a..95e38b2d3dea4a39a064f32277d6539a8c37092c 100644 (file)
@@ -80,6 +80,23 @@ OSM.NewNote = function(map) {
     OSM.loadSidebarContent(path, page.load);
   };
 
+  function newHalo(loc, a) {
+    if (a == 'dragstart' && map.hasLayer(halo)) {
+      map.removeLayer(halo);
+    } else {
+      if (map.hasLayer(halo)) map.removeLayer(halo);
+
+      halo = L.circleMarker(loc, {
+        weight: 2.5,
+        radius: 20,
+        fillOpacity: 0.5,
+        color: "#FF6200"
+      });
+
+      map.addLayer(halo);
+    }
+  }
+
   page.load = function () {
     if (addNoteButton.hasClass("disabled")) return;
     if (addNoteButton.hasClass("active")) return;
@@ -105,16 +122,13 @@ OSM.NewNote = function(map) {
       draggable: true
     });
 
-    newNote.addTo(noteLayer);
-
-    halo = L.circleMarker(map.containerPointToLatLng(markerPosition), {
-      weight: 2.5,
-      radius: 20,
-      fillOpacity: 0.5,
-      color: "#FF6200"
+    newNote.on("dragstart dragend", function(a) {
+      console.log(a);
+      newHalo(newNote.getLatLng(), a.type);
     });
 
-    map.addLayer(halo);
+    newNote.addTo(noteLayer);
+    newHalo(newNote.getLatLng());
 
     newNote.on("remove", function () {
       addNoteButton.removeClass("active");