map: Also include map layer in URL
So far, only the overlay layers had been included. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
2afc9e549d
commit
fae6e858b7
|
@ -5,7 +5,6 @@ var tilesosmorg = new L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y
|
||||||
maxNativeZoom: 19,
|
maxNativeZoom: 19,
|
||||||
maxZoom: 22
|
maxZoom: 22
|
||||||
});
|
});
|
||||||
map.addLayer(tilesosmorg);
|
|
||||||
var tilesosmde = new L.TileLayer('https://{s}.osm.rrze.fau.de/osmde/{z}/{x}/{y}.png', {
|
var tilesosmde = new L.TileLayer('https://{s}.osm.rrze.fau.de/osmde/{z}/{x}/{y}.png', {
|
||||||
attribution: '<a href="https://www.openstreetmap.org/copyright">© Openstreetmap Contributors</a>',
|
attribution: '<a href="https://www.openstreetmap.org/copyright">© Openstreetmap Contributors</a>',
|
||||||
maxNativeZoom: 19,
|
maxNativeZoom: 19,
|
||||||
|
@ -64,6 +63,7 @@ function update_permalink() {
|
||||||
var zoom = map.getZoom();
|
var zoom = map.getZoom();
|
||||||
window.history.replaceState({}, document.title,
|
window.history.replaceState({}, document.title,
|
||||||
mapurl + '?mapcenter=' + pos.lat.toFixed(5) + ',' + pos.lng.toFixed(5) + ',' + zoom
|
mapurl + '?mapcenter=' + pos.lat.toFixed(5) + ',' + pos.lng.toFixed(5) + ',' + zoom
|
||||||
|
+ '&source=' + (map.hasLayer(tilesosmorg) ? 1 : (map.hasLayer(tilesosmde) ? 2 : 3))
|
||||||
+ '&layers=' + (map.hasLayer(routers)|0) + ','
|
+ '&layers=' + (map.hasLayer(routers)|0) + ','
|
||||||
+ (map.hasLayer(routers_v2)|0) + ','
|
+ (map.hasLayer(routers_v2)|0) + ','
|
||||||
+ (map.hasLayer(routers_local)|0) + ','
|
+ (map.hasLayer(routers_local)|0) + ','
|
||||||
|
@ -75,16 +75,36 @@ function update_permalink() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function initialMap() {
|
||||||
|
map.addLayer(tilesosmorg);
|
||||||
|
}
|
||||||
function initialLayers() {
|
function initialLayers() {
|
||||||
routers.addTo(map);
|
routers.addTo(map);
|
||||||
routers_v2.addTo(map);
|
routers_v2.addTo(map);
|
||||||
routers_local.addTo(map);
|
routers_local.addTo(map);
|
||||||
}
|
}
|
||||||
|
function setupMap(getargs) {
|
||||||
|
var getsrc = getargs.replace("source=", "");
|
||||||
|
if(getsrc==2) { map.addLayer(tilesosmde); }
|
||||||
|
else if(getsrc==3) { map.addLayer(tilestfod); }
|
||||||
|
else { map.addLayer(tilesosmorg); }
|
||||||
|
}
|
||||||
|
function setupLayers(getargs) {
|
||||||
|
var getlayers = getargs.replace("layers=", "").split(",");
|
||||||
|
if(getlayers[0]==1) { routers.addTo(map); }
|
||||||
|
if(getlayers[1]==1) { routers_v2.addTo(map); }
|
||||||
|
if(getlayers[2]==1) { routers_local.addTo(map); }
|
||||||
|
if(getlayers[3]==1) { hoods.addTo(map); }
|
||||||
|
if(getlayers[4]==1) { hoods_v2.addTo(map); }
|
||||||
|
if(getlayers[5]==1) { hoods_poly.addTo(map); }
|
||||||
|
if(getlayers[6]==1) { popuplayer.addTo(map); }
|
||||||
|
}
|
||||||
|
|
||||||
map.on('moveend', update_permalink);
|
map.on('moveend', update_permalink);
|
||||||
map.on('zoomend', update_permalink);
|
map.on('zoomend', update_permalink);
|
||||||
map.on('overlayadd', update_permalink);
|
map.on('overlayadd', update_permalink);
|
||||||
map.on('overlayremove', update_permalink);
|
map.on('overlayremove', update_permalink);
|
||||||
|
map.on('baselayerchange', update_permalink);
|
||||||
|
|
||||||
map.on('click', function(pos) {
|
map.on('click', function(pos) {
|
||||||
// height = width of world in px
|
// height = width of world in px
|
||||||
|
|
|
@ -36,21 +36,28 @@
|
||||||
var getargs = window.location.search.replace("?mapcenter=", "").split("&");
|
var getargs = window.location.search.replace("?mapcenter=", "").split("&");
|
||||||
var maploc = getargs[0].split(",");
|
var maploc = getargs[0].split(",");
|
||||||
map.setView([maploc[0], maploc[1]], maploc[2]);
|
map.setView([maploc[0], maploc[1]], maploc[2]);
|
||||||
if (getargs.length > 1 && getargs[1].match("layers=")) {
|
if (getargs.length > 1 && getargs[1].match("source=")) {
|
||||||
var getlayers = getargs[1].replace("layers=", "").split(",");
|
setupMap(getargs[1]);
|
||||||
if(getlayers[0]==1) { routers.addTo(map); }
|
if (getargs.length > 2 && getargs[2].match("layers=")) {
|
||||||
if(getlayers[1]==1) { routers_v2.addTo(map); }
|
setupLayers(getargs[2]);
|
||||||
if(getlayers[2]==1) { routers_local.addTo(map); }
|
} else {
|
||||||
if(getlayers[3]==1) { hoods.addTo(map); }
|
initialLayers();
|
||||||
if(getlayers[4]==1) { hoods_v2.addTo(map); }
|
}
|
||||||
if(getlayers[5]==1) { hoods_poly.addTo(map); }
|
} else if (getargs.length > 1 && getargs[1].match("layers=")) {
|
||||||
if(getlayers[6]==1) { popuplayer.addTo(map); }
|
setupLayers(getargs[1]);
|
||||||
|
if (getargs.length > 2 && getargs[2].match("source=")) {
|
||||||
|
setupMap(getargs[2]);
|
||||||
|
} else {
|
||||||
|
initialMap();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
initialMap();
|
||||||
initialLayers();
|
initialLayers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
map.setView([49.824, 10.786], 9);
|
map.setView([49.824, 10.786], 9);
|
||||||
|
initialMap();
|
||||||
initialLayers();
|
initialLayers();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -90,6 +90,7 @@
|
||||||
</script>
|
</script>
|
||||||
<script src="{{ url_for('static', filename='js/map.js') }}"></script>
|
<script src="{{ url_for('static', filename='js/map.js') }}"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
initialMap();
|
||||||
initialLayers();
|
initialLayers();
|
||||||
{%- if router.lng and router.lat %}
|
{%- if router.lng and router.lat %}
|
||||||
var router_pos = [{{ router.lat }}, {{ router.lng }}];
|
var router_pos = [{{ router.lat }}, {{ router.lng }}];
|
||||||
|
|
Loading…
Reference in New Issue