summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2016-07-19 15:22:17 -0700
committerMinh Nguyễn <mxn@1ec5.org>2016-07-19 15:22:17 -0700
commit1cf6b5de0c720d2550b4515daed7460f4b51506e (patch)
tree8e3ede72b5d5f8cb06e0bb98728db8fd417c94ab /src
parent1972d932d5a69f3a9cdf1e76d87d482bdc256373 (diff)
parent59f1b2b210318e204ebb2b7423ae5c0e8790dd3a (diff)
downloadqtlocation-mapboxgl-1cf6b5de0c720d2550b4515daed7460f4b51506e.tar.gz
Merge branch 'release-ios-v3.3.0'
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/map/map.cpp15
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());