//= require templates/notes/new
function initializeNotes(map) {
- var params = OSM.mapParams(),
- noteLayer = map.noteLayer,
+ var noteLayer = map.noteLayer,
notes = {},
newNote;
}
});
- if (OSM.STATUS != 'api_offline' && OSM.STATUS != 'database_offline') {
- if (params.notes || (params.layers && params.layers.indexOf('N')) >= 0) {
- map.addLayer(noteLayer);
- }
-
- if (params.note) {
- $.ajax({
- url: "/api/" + OSM.API_VERSION + "/notes/" + params.note + ".json",
- success: function (feature) {
- var marker = updateMarker(notes[feature.properties.id], feature);
- notes[feature.properties.id] = marker;
- map.addLayer(noteLayer);
- marker.openPopup();
- }
- });
- }
- }
+ noteLayer.showNote = function(id) {
+ $.ajax({
+ url: "/api/" + OSM.API_VERSION + "/notes/" + id + ".json",
+ success: function (feature) {
+ var marker = updateMarker(notes[feature.properties.id], feature);
+ notes[feature.properties.id] = marker;
+ map.addLayer(noteLayer);
+ marker.openPopup();
+ }
+ });
+ };
function updateMarker(marker, feature) {
if (marker) {
notes[feature.properties.id] = updateMarker(marker, feature);
newNote = null;
- addNoteButton.removeClass("disabled").addClass("geolink");
+ addNoteButton.removeClass("active");
}
}
e.stopPropagation();
if (addNoteButton.hasClass("disabled")) return;
+ if (addNoteButton.hasClass("active")) return;
- addNoteButton.removeClass("geolink").addClass("disabled");
+ addNoteButton.addClass("active");
map.addLayer(noteLayer);
newNote.addTo(noteLayer).bindPopup(popupContent[0], popupOptions()).openPopup();
newNote.on("remove", function (e) {
- addNoteButton.removeClass("disabled").addClass("geolink");
+ addNoteButton.removeClass("active");
}).on("dragstart", function (e) {
$(newNote).stopTime("removenote");
}).on("dragend", function (e) {