diff --git a/ffmap/web/static/js/map.js b/ffmap/web/static/js/map.js index 97886ee..39ba115 100644 --- a/ffmap/web/static/js/map.js +++ b/ffmap/web/static/js/map.js @@ -26,9 +26,9 @@ var overlay_config = { maximumAge: 1000*3600*24*10 } -var routers = new L.TileLayer(tileurls.routers + '/{z}/{x}/{y}.png', overlay_config).addTo(map); -var routers_v2 = new L.TileLayer(tileurls.routers_v2 + '/{z}/{x}/{y}.png', overlay_config).addTo(map); -var routers_local = new L.TileLayer(tileurls.routers_local + '/{z}/{x}/{y}.png', overlay_config).addTo(map); +var routers = new L.TileLayer(tileurls.routers + '/{z}/{x}/{y}.png', overlay_config); +var routers_v2 = new L.TileLayer(tileurls.routers_v2 + '/{z}/{x}/{y}.png', overlay_config); +var routers_local = new L.TileLayer(tileurls.routers_local + '/{z}/{x}/{y}.png', overlay_config); var hoods = new L.TileLayer(tileurls.hoods + '/{z}/{x}/{y}.png', overlay_config); var hoods_v2 = new L.TileLayer(tileurls.hoods_v2 + '/{z}/{x}/{y}.png', overlay_config); var popuplayer = new L.TileLayer(''); @@ -56,17 +56,27 @@ if (window.matchMedia("(min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-r var popup; var popupopen = false; -function update_mappos_permalink() { +function update_permalink() { if (typeof mapurl != 'undefined') { var pos = map.getCenter(); var zoom = map.getZoom(); - window.history.replaceState({}, document.title, mapurl + '?mapcenter='+pos.lat.toFixed(5)+','+pos.lng.toFixed(5)+','+zoom); + window.history.replaceState({}, document.title, + mapurl + '?mapcenter=' + pos.lat.toFixed(5) + ',' + pos.lng.toFixed(5) + ',' + zoom + + '&layers=' + (map.hasLayer(routers)|0) + ',' + (map.hasLayer(routers_v2)|0) + ',' + (map.hasLayer(routers_local)|0) + ',' + + (map.hasLayer(hoods)|0) + ',' + (map.hasLayer(hoods_v2)|0) + ',' + (map.hasLayer(popuplayer)|0) ); } } +function initialLayers() { + routers.addTo(map); + routers_v2.addTo(map); + routers_local.addTo(map); +} -map.on('moveend', update_mappos_permalink); -map.on('zoomend', update_mappos_permalink); +map.on('moveend', update_permalink); +map.on('zoomend', update_permalink); +map.on('overlayadd', update_permalink); +map.on('overlayremove', update_permalink); map.on('click', function(pos) { // height = width of world in px diff --git a/ffmap/web/templates/map.html b/ffmap/web/templates/map.html index 7cb8669..e29fdd4 100644 --- a/ffmap/web/templates/map.html +++ b/ffmap/web/templates/map.html @@ -33,11 +33,24 @@ {% endblock %} diff --git a/ffmap/web/templates/router.html b/ffmap/web/templates/router.html index ded00ea..4e38c00 100644 --- a/ffmap/web/templates/router.html +++ b/ffmap/web/templates/router.html @@ -90,6 +90,7 @@