Search code examples
javascriptopenstreetmapleaflet

Leaflet zoom overridden by maxZoom


Issue:

So my issue is that maxZoom seems to over ride the zoom in Leaflet.

From the docs, zoom description is: Initial map zoom.

The code I am using is as follows.


Code:

var map = L.map('map', {
    maxZoom: 18,
    zoom: 17,
    zoomControl: false
}).locate({
    setView: true,
}); // set default location to current GPS location

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
}).addTo(map);


Result:
The result is that the initial zoom is 18 instead of 17.


Expected Behavior:
What I want is the max zoom to go no more than 18 but start out initially as 17.


Solution

  • I raised this topic a bit late and don't know if you already managed to fix the issue. I hit the same problem on a project I am currently working on and I found a solution by using setZoom() method.

    On my specific case I am using Leaflet version 0.7.x and to me it was enough to concatenate the method to fitBounds() like in the example below:

    map.fitBounds(group.getBounds(), {
       padding: [30, 30]
    }).setZoom(settings.zoom.initialZoom);
    

    As I didn't find that much documentation regarding this specific issue, I post my solution here with the hope it can help anyone else should face the same problem.