Opened 6 years ago
Last modified 6 years ago
#18064 closed defect
TMS layer by default didn't go beyond 21 zoom regardless of max zoom setting in properties — at Initial Version
Reported by: | SergeyAstakhov | Owned by: | team |
---|---|---|---|
Priority: | major | Milestone: | 19.10 |
Component: | Core imagery | Version: | |
Keywords: | zoom | Cc: | wiktorn |
Description
When adding a TMS layer without specifying the maximum zoom level (for example, via the remotecontrol from OpenAerialMap "Open in JOSM"), it is limited to the default level of 21, despite the fact that the settings for TMS in prefferences are set to a higher value.
This limitation is obtained in the AbstractTileSourceLayer.checkMaxZoomLvl() method when comparing the zoom with the return value from the ts.getMaxZoom () method:
if (ts != null && ts.getMaxZoom() != 0 && ts.getMaxZoom() < maxZoomLvl) { maxZoomLvl = ts.getMaxZoom(); }
which ends for the TMS layer in the AbstractTMSTileSource.getMaxZoom() method, which returns a hardcoded value of 21.
As workaround you can ether always specify max zoom level in url templates, ether use other layer types (if possible). However, this is inconvenient in some situations (in particular, OAM "Open in JOSM" didn't pass max zoom level to remotecontrol), so it would be much better if the default maximum zoom was taken from the settings and was not hardcoded.