diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2016-07-19 15:22:17 -0700 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2016-07-19 15:22:17 -0700 |
commit | 1cf6b5de0c720d2550b4515daed7460f4b51506e (patch) | |
tree | 8e3ede72b5d5f8cb06e0bb98728db8fd417c94ab /src | |
parent | 1972d932d5a69f3a9cdf1e76d87d482bdc256373 (diff) | |
parent | 59f1b2b210318e204ebb2b7423ae5c0e8790dd3a (diff) | |
download | qtlocation-mapboxgl-1cf6b5de0c720d2550b4515daed7460f4b51506e.tar.gz |
Merge branch 'release-ios-v3.3.0'
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/map/map.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index 5d3a1f3e5d..659832dc77 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -502,13 +502,16 @@ CameraOptions Map::cameraForLatLngs(const std::vector<LatLng>& latLngs, optional double height = nePixel.y - swPixel.y; // Calculate the zoom level. - double scaleX = getWidth() / width; - double scaleY = getHeight() / height; - if (padding && *padding) { - scaleX -= (padding->left + padding->right) / width; - scaleY -= (padding->top + padding->bottom) / height; + double minScale = INFINITY; + if (width > 0 || height > 0) { + double scaleX = getWidth() / width; + double scaleY = getHeight() / height; + if (padding && *padding) { + scaleX -= (padding->left + padding->right) / width; + scaleY -= (padding->top + padding->bottom) / height; + } + minScale = util::min(scaleX, scaleY); } - double minScale = ::fmin(scaleX, scaleY); double zoom = util::log2(getScale() * minScale); zoom = util::clamp(zoom, getMinZoom(), getMaxZoom()); |