ngageoint / geoq

Django web application to collect geospatial features and manage feature collection among groups of users
MIT License
704 stars 133 forks source link

Support Zoom Beyond Level 18 #306

Closed Prindle19 closed 9 years ago

Prindle19 commented 9 years ago

Not sure if it is a function of the OSM Basemap or not, but, I have a layer with a zoom level of 19.

When working on a Work Cell, I can not get beyond level 18 (which corresponds to the OSM map max depth). This is the case whether I have the OSM layer toggled on or off.

I thought I saw something in the code that set the max zoom level to 21, but, it does not seem like the leaflet map is letting me zoom beyond 18. No tile calls are being made once I zoom past level 18 to what should trigger calls to zoom level 19 tiles.

stephenrjones commented 9 years ago

Yes, the zoom levels are dependent on the layers loaded onto the map. I have been able to force the zoom levels lower (I have a kml of a building layout that I've been able to establish higher zoom levels, but assume it's letting me do that because I do have that layer loaded onto the map)

Prindle19 commented 9 years ago

Right, but something is wrong.

The OSM layer you are loading should be capable of zooming to at least level 19.

In fact, the way you are calling it, you're saying it should go to level 22 (the osm tile cache you're hitting only goes to 19 though)

    var djoptions = {"layers": [["OSM", "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", "\u00a9 <a href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors"]], "minimap": false, "scale": "metric", "center": null, "tilesextent": [], "attributionprefix": null, "zoom": null, "maxzoom": 22, "minzoom": 0, "extent": [[-90, -180], [90, 180]], "resetview": false, "srid": null, "fitextent": true},

http://tile.openstreetmap.org/19/0/0.png exists, http://tile.openstreetmap.org/20/0/0.png does not.

So, if nothing else, I should be able to zoom to level 19, but, it bottoms out at 18.

I am unable to reproduce your behavior by loading a very finely detailed KML. I can keep zooming in on the KML, but, no tiles are called from any layer past 18.

Is it possible that somwhere you have a maxZoom set for the map to 18?

http://leafletjs.com/reference.html#map-options

stephenrjones commented 9 years ago

I believe the latest upgrades should allow zooming beyond level 18. For a Job map, add a tile layer that can zoom to the level you want and check 'is base layer'. It should now replace OSM as the base layer for the Job.

One thing I've noticed is that some Google layers will make zooms 'snap back' to a previous zoom layer. Not sure why that is, but may look at the plugin for those layers

Prindle19 commented 9 years ago

Awesome - thanks!

On Tue, May 5, 2015 at 10:45 AM, Stephen Jones notifications@github.com wrote:

I believe the latest upgrades should allow zooming beyond level 18. For a Job map, add a tile layer that can zoom to the level you want and check 'is base layer'. It should now replace OSM as the base layer for the Job.

One thing I've noticed is that some Google layers will make zooms 'snap back' to a previous zoom layer. Not sure why that is, but may look at the plugin for those layers

— Reply to this email directly or view it on GitHub https://github.com/ngageoint/geoq/issues/306#issuecomment-99101003.

Sean Wohltman - WG0OGL | Geospatial Scientist | seanwohltman@google.com | 703-677-8626