X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/5bd59e19368d8761a7dbaa5db0e8833174c11f36..04ff7d4ee81040f152c38ee39ba84491c91a66f3:/app/assets/javascripts/index/note.js?ds=sidebyside diff --git a/app/assets/javascripts/index/note.js b/app/assets/javascripts/index/note.js index 52bb1c909..7efec6c5d 100644 --- a/app/assets/javascripts/index/note.js +++ b/app/assets/javascripts/index/note.js @@ -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 () {