diff options
Diffstat (limited to 'src/mbgl/util/tile_cover.cpp')
-rw-r--r-- | src/mbgl/util/tile_cover.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mbgl/util/tile_cover.cpp b/src/mbgl/util/tile_cover.cpp index 9e2451e1af..c7ef73c4ba 100644 --- a/src/mbgl/util/tile_cover.cpp +++ b/src/mbgl/util/tile_cover.cpp @@ -131,7 +131,8 @@ std::vector<UnwrappedTileID> tileCover(const Point<double>& tl, } // namespace int32_t coveringZoomLevel(double zoom, style::SourceType type, uint16_t size) { - zoom += util::log2(util::tileSize / size); + // At negative zoom levels load tiles from z0 because negative tile zoom levels don't exist. + zoom = ::fmax(0.0, zoom + util::log2(util::tileSize / size)); if (type == style::SourceType::Raster || type == style::SourceType::Video) { return ::round(zoom); } else { |