diff --git a/static/js/map.js b/static/js/map.js index f62aeb8..ae682d1 100644 --- a/static/js/map.js +++ b/static/js/map.js @@ -22,6 +22,8 @@ var woBischIcon2 = L.icon({ iconAnchor: [32, 32], popupAnchor: [0, 0] }); +var bounds; +var boundsSwitzerland = new L.LatLngBounds([[47.826186,10.511814], [45.797054, 5.925007]]); var dstart = moment({hour: 0}); var start = dstart.utc().format('YYYY-MM-DDTHH:mm:ss[Z]'); @@ -113,7 +115,7 @@ function refreshDatapoints(deveui, start, stop) { } lcontrol = L.control.layers({}).addTo(map); lcontrol.addOverlay(allmarkers,'alle Positionen anzeigen'); - var bounds = new L.LatLngBounds([[mydata['max_lat'], mydata['max_lon']], [mydata['min_lat'], mydata['min_lon']]]); + bounds = new L.LatLngBounds([[mydata['max_lat'], mydata['max_lon']], [mydata['min_lat'], mydata['min_lon']]]); map.fitBounds(bounds, { padding: [20, 20] }); }); } @@ -121,10 +123,20 @@ function refreshDatapoints(deveui, start, stop) { $(document).ready(function() { map = new L.Map('map', { crs: L.CRS.EPSG3857, - zoomControl: false, + zoomControl: true, + maxBounds: boundsSwitzerland, + doubleClickZoom: false }); + map.setMinZoom( map.getBoundsZoom( map.options.maxBounds ) ); + + map.on('dblclick', function (e) { + map.fitBounds(bounds, { padding: [20, 20] }); + }); + + var url = 'https://wmts20.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/3857/{z}/{x}/{y}.jpeg'; var tilelayer = new L.tileLayer(url); + map.attributionControl.setPrefix('Source: Swiss Federal Office of Topography') map.addLayer(tilelayer); map.setView(L.latLng(lat, lon), 10); marker = L.marker([lat, lon],{icon: woBischIcon, zIndexOffset: 1000}).addTo(map);