]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/note.js
Merge pull request #3666 from AntonKhorev/flex-close-buttons
[rails.git] / app / assets / javascripts / index / note.js
index 52bb1c90958c0aefcdcf87caab6e5d2019cf7664..7efec6c5d931a395f08e591dd64e4503e483dd4c 100644 (file)
@@ -1,7 +1,7 @@
 OSM.Note = function (map) {
   var content = $("#sidebar_content"),
-    page = {},
-    halo, currentNote;
+      page = {},
+      halo, currentNote;
 
   var noteIcons = {
     "new": L.icon({
@@ -39,7 +39,7 @@ OSM.Note = function (map) {
     OSM.loadSidebarContent(path, function () {
       initialize(function () {
         var data = $(".details").data(),
-          latLng = L.latLng(data.coordinates.split(","));
+            latLng = L.latLng(data.coordinates.split(","));
         if (!map.getBounds().contains(latLng)) moveToNote();
       });
     });
@@ -71,9 +71,9 @@ OSM.Note = function (map) {
     content.find("textarea").val("").trigger("input");
 
     var data = $(".details").data(),
-      latLng = L.latLng(data.coordinates.split(","));
+        latLng = L.latLng(data.coordinates.split(","));
 
-    if (!map.hasLayer(halo)) {
+    if (!halo || !map.hasLayer(halo)) {
       halo = L.circleMarker(latLng, {
         weight: 2.5,
         radius: 20,
@@ -83,7 +83,8 @@ OSM.Note = function (map) {
       map.addLayer(halo);
     }
 
-    if (map.hasLayer(currentNote)) map.removeLayer(currentNote);
+    if (currentNote && map.hasLayer(currentNote)) map.removeLayer(currentNote);
+
     currentNote = L.marker(latLng, {
       icon: noteIcons[data.status],
       opacity: 1,
@@ -97,7 +98,7 @@ OSM.Note = function (map) {
 
   function moveToNote() {
     var data = $(".details").data(),
-      latLng = L.latLng(data.coordinates.split(","));
+        latLng = L.latLng(data.coordinates.split(","));
 
     if (!window.location.hash || window.location.hash.match(/^#?c[0-9]+$/)) {
       OSM.router.withoutMoveListener(function () {