+//= require qs/dist/qs
+
OSM.NewNote = function (map) {
var noteLayer = map.noteLayer,
content = $("#sidebar_content"),
};
function newHalo(loc, a) {
- if (a === "dragstart" && map.hasLayer(halo)) {
+ var hasHalo = halo && map.hasLayer(halo);
+
+ if (a === "dragstart" && hasHalo) {
map.removeLayer(halo);
} else {
- if (map.hasLayer(halo)) map.removeLayer(halo);
+ if (hasHalo) map.removeLayer(halo);
halo = L.circleMarker(loc, {
weight: 2.5,
map.addLayer(noteLayer);
- var params = qs.parse(path.substring(path.indexOf("?") + 1));
+ var params = Qs.parse(path.substring(path.indexOf("?") + 1));
var markerLatlng;
if (params.lat && params.lon) {
newNote.on("remove", function () {
addNoteButton.removeClass("active");
- }).on("dragstart", function () {
- $(newNote).stopTime("removenote");
}).on("dragend", function () {
content.find("textarea").focus();
});
};
page.unload = function () {
- noteLayer.removeLayer(newNote);
- map.removeLayer(halo);
+ if (newNote) noteLayer.removeLayer(newNote);
+ if (halo) map.removeLayer(halo);
addNoteButton.removeClass("active");
};