Persist the state of the notes layer
authorTom Hughes <tom@compton.nu>
Wed, 8 May 2013 20:04:41 +0000 (21:04 +0100)
committerTom Hughes <tom@compton.nu>
Wed, 8 May 2013 20:04:41 +0000 (21:04 +0100)
app/assets/javascripts/index.js
app/assets/javascripts/index/notes.js.erb
app/assets/javascripts/map.js.erb

index 519a805bb8442961cd846d543e92b2400a990e84..6118c8e0d741c7a3ef0614d24f3e91b922e69aab 100644 (file)
@@ -14,7 +14,7 @@ $(document).ready(function () {
 
   map.attributionControl.setPrefix(permalinks);
 
-  map.on("moveend baselayerchange", updateLocation);
+  map.on("moveend layeradd layerremove", updateLocation);
 
   if (!params.object_zoom) {
     if (params.bbox) {
index f212c85b7562b2c6f5d9f9297d7cd1f97502bf10..f414f0e34621d1ff6e2d6b8ce8c016ab487b4e4b 100644 (file)
@@ -26,6 +26,11 @@ $(document).ready(function () {
   var notes = {};
   var newNote;
 
+  layers.push({
+    layer: noteLayer,
+    layerCode: "N"
+  });
+
   map.on("layeradd", function (e) {
     if (e.layer == noteLayer) {
       loadNotes();
@@ -57,6 +62,7 @@ $(document).ready(function () {
   if (OSM.STATUS != 'api_offline' && OSM.STATUS != 'database_offline') {
     map.layersControl.addOverlay(noteLayer, I18n.t("browse.start_rjs.notes_layer_name"));
 
+    if (params.layers) setMapLayers(params.layers);
     if (params.notes) map.addLayer(noteLayer);
 
     if (params.note) {
index 48fd35d0e7e4e0eaa19fdaf2072d35c921d1c0e4..8591e260a10b830480ffd5a963ed11db2a52877b 100644 (file)
@@ -189,13 +189,13 @@ function getMapBaseLayer() {
 }
 
 function getMapLayers() {
+  var layerConfig = "";
   for (var i = 0; i < layers.length; i++) {
     if (map.hasLayer(layers[i].layer)) {
-      return layers[i].layerCode;
+      layerConfig += layers[i].layerCode;
     }
   }
-
-  return "";
+  return layerConfig;
 }
 
 function setMapLayers(layerConfig) {