+//= require qs/dist/qs
+
OSM.NewNote = function (map) {
var noteLayer = map.noteLayer,
- content = $("#sidebar_content"),
- page = {},
- addNoteButton = $(".control-note .control-button"),
- newNote,
- halo;
+ content = $("#sidebar_content"),
+ page = {},
+ addNoteButton = $(".control-note .control-button"),
+ newNote,
+ halo;
var noteIcons = {
"new": L.icon({
};
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 = querystring.parse(path.substring(path.indexOf("?") + 1));
+ var params = Qs.parse(path.substring(path.indexOf("?") + 1));
var markerLatlng;
if (params.lat && params.lon) {
};
page.unload = function () {
- noteLayer.removeLayer(newNote);
- map.removeLayer(halo);
+ if (newNote) noteLayer.removeLayer(newNote);
+ if (halo) map.removeLayer(halo);
addNoteButton.removeClass("active");
};