Index: /binary-improvements/webserver/js/map.js
===================================================================
--- /binary-improvements/webserver/js/map.js	(revision 365)
+++ /binary-improvements/webserver/js/map.js	(revision 366)
@@ -40,5 +40,9 @@
 		zoomsliderControl: true,
 		attributionControl: false,
-		crs: SDTD_CRS
+		crs: SDTD_CRS,
+		// For the below options read section "Fractional zoom" here: https://leafletjs.com/examples/zoom-levels/
+		zoomSnap: 1, // Defines the zoom levels that can be achieved at all
+		zoomDelta: 1, // Defines how much the zoom is changed with keyboard +/- and the zoom slider control
+		wheelPxPerZoomLevel: 60 // Defines how much mouse scrolling is needed per zoom level. If zoomDelta is e.g. 0.25 and you want the mouse scroll zoom to match that make this 4 times as high, i.e. 240
 	}).setView([0, 0], Math.max(0, mapinfo.maxzoom - 5));
 
Index: /binary-improvements/webserver/leaflet/zoomslider/L.Control.Zoomslider.js
===================================================================
--- /binary-improvements/webserver/leaflet/zoomslider/L.Control.Zoomslider.js	(revision 365)
+++ /binary-improvements/webserver/leaflet/zoomslider/L.Control.Zoomslider.js	(revision 366)
@@ -141,19 +141,21 @@
 
 		_zoomIn: function (e) {
-			this._map.zoomIn(e.shiftKey ? 3 : 1);
+			var delta = this._map.options.zoomDelta || 0;
+			this._map.zoomIn(e.shiftKey ? 3 * delta : delta);
 		},
 		_zoomOut: function (e) {
-			this._map.zoomOut(e.shiftKey ? 3 : 1);
+			var delta = this._map.options.zoomDelta || 0;
+			this._map.zoomOut(e.shiftKey ? 3 * delta : delta);
 		},
 
 		_zoomLevels: function () {
-			var zoomLevels = this._map.getMaxZoom() - this._map.getMinZoom() + 1;
+			var zoomLevels = (this._map.getMaxZoom() - this._map.getMinZoom()) / this._map.options.zoomDelta + 1;
 			return zoomLevels < Infinity ? zoomLevels : 0;
 		},
 		_toZoomLevel: function (value) {
-			return value + this._map.getMinZoom();
+			return value * this._map.options.zoomDelta + this._map.getMinZoom();
 		},
 		_toValue: function (zoomLevel) {
-			return zoomLevel - this._map.getMinZoom();
+			return (zoomLevel - this._map.getMinZoom()) / this._map.options.zoomDelta;
 		},
 
