Refactor layer persistence
This commit is contained in:
parent
6619b777e3
commit
75a776a574
2 changed files with 23 additions and 32 deletions
|
@ -24,31 +24,31 @@ $(document).ready(function () {
|
|||
|
||||
layers = [{
|
||||
layer: new L.OSM.Mapnik({
|
||||
attribution: ''
|
||||
attribution: '',
|
||||
code: "M"
|
||||
}),
|
||||
keyid: "mapnik",
|
||||
layerCode: "M",
|
||||
name: I18n.t("javascripts.map.base.standard")
|
||||
}, {
|
||||
layer: new L.OSM.CycleMap({
|
||||
attribution: "Tiles courtesy of <a href='http://www.opencyclemap.org/' target='_blank'>Andy Allan</a>",
|
||||
code: "C"
|
||||
}),
|
||||
keyid: "cyclemap",
|
||||
layerCode: "C",
|
||||
name: I18n.t("javascripts.map.base.cycle_map")
|
||||
}, {
|
||||
layer: new L.OSM.TransportMap({
|
||||
attribution: "Tiles courtesy of <a href='http://www.opencyclemap.org/' target='_blank'>Andy Allan</a>",
|
||||
code: "T"
|
||||
}),
|
||||
keyid: "transportmap",
|
||||
layerCode: "T",
|
||||
name: I18n.t("javascripts.map.base.transport_map")
|
||||
}, {
|
||||
layer: new L.OSM.MapQuestOpen({
|
||||
attribution: "Tiles courtesy of <a href='http://www.mapquest.com/' target='_blank'>MapQuest</a> <img src='http://developer.mapquest.com/content/osm/mq_logo.png'>",
|
||||
code: "Q"
|
||||
}),
|
||||
keyid: "mapquest",
|
||||
layerCode: "Q",
|
||||
name: I18n.t("javascripts.map.base.mapquest")
|
||||
}];
|
||||
|
||||
|
@ -100,7 +100,18 @@ $(document).ready(function () {
|
|||
}
|
||||
|
||||
if (params.layers) {
|
||||
setMapLayers(params.layers);
|
||||
var foundLayer = false;
|
||||
for (var i = 0; i < layers.length; i++) {
|
||||
if (params.layers.indexOf(layers[i].layer.options.code) >= 0) {
|
||||
map.addLayer(layers[i].layer);
|
||||
foundLayer = true;
|
||||
} else {
|
||||
map.removeLayer(layers[i].layer);
|
||||
}
|
||||
}
|
||||
if (!foundLayer) {
|
||||
map.addLayer(layers[0].layer);
|
||||
}
|
||||
}
|
||||
|
||||
if (params.marker) {
|
||||
|
@ -214,25 +225,11 @@ function getMapBaseLayer() {
|
|||
|
||||
function getMapLayers() {
|
||||
var layerConfig = "";
|
||||
for (var i = 0; i < layers.length; i++) {
|
||||
if (map.hasLayer(layers[i].layer)) {
|
||||
layerConfig += layers[i].layerCode;
|
||||
for (var i in map._layers) { // TODO: map.eachLayer
|
||||
var layer = map._layers[i];
|
||||
if (layer.options && layer.options.code) {
|
||||
layerConfig += layer.options.code;
|
||||
}
|
||||
}
|
||||
return layerConfig;
|
||||
}
|
||||
|
||||
function setMapLayers(layerConfig) {
|
||||
var foundLayer = false;
|
||||
for (var i = 0; i < layers.length; i++) {
|
||||
if (layerConfig.indexOf(layers[i].layerCode) >= 0) {
|
||||
map.addLayer(layers[i].layer);
|
||||
foundLayer = true;
|
||||
} else {
|
||||
map.removeLayer(layers[i].layer);
|
||||
}
|
||||
}
|
||||
if (!foundLayer) {
|
||||
map.addLayer(layers[0].layer);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
$(document).ready(function () {
|
||||
var params = OSM.mapParams(),
|
||||
noteLayer = new L.LayerGroup(),
|
||||
noteLayer = new L.LayerGroup({code: 'N'}),
|
||||
notes = {},
|
||||
newNote;
|
||||
|
||||
|
@ -25,11 +25,6 @@ $(document).ready(function () {
|
|||
})
|
||||
};
|
||||
|
||||
layers.push({
|
||||
layer: noteLayer,
|
||||
layerCode: "N"
|
||||
});
|
||||
|
||||
map.noteLayer = noteLayer;
|
||||
|
||||
map.on("layeradd", function (e) {
|
||||
|
@ -57,8 +52,7 @@ $(document).ready(function () {
|
|||
});
|
||||
|
||||
if (OSM.STATUS != 'api_offline' && OSM.STATUS != 'database_offline') {
|
||||
if (params.layers) setMapLayers(params.layers);
|
||||
if (params.notes) map.addLayer(noteLayer);
|
||||
if (params.notes || params.layers.indexOf('N') >= 0) map.addLayer(noteLayer);
|
||||
if (params.note) {
|
||||
$.ajax({
|
||||
url: "/api/" + OSM.API_VERSION + "/notes/" + params.note + ".json",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue