summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudarsana Babu Nagineni <sudarsana.babu@mapbox.com>2019-03-04 17:33:43 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2019-03-08 18:36:03 +0200
commit2f88e8257b83b77f6c06c86c99f542976e7d5199 (patch)
tree5118632397e15b590c9f96998e367689f0c53fa8
parent5954eea345677682479ad5df4d6b059737efd7f0 (diff)
downloadqtlocation-mapboxgl-2f88e8257b83b77f6c06c86c99f542976e7d5199.tar.gz
[core] Remove Constrain mode options
setLatLngBounds() API allows the map to be constrained to certain Lat/Lng limits, so there is no need of having Constrain mode options on Map to constrain the map boundaries.
-rw-r--r--include/mbgl/map/map.hpp4
-rw-r--r--include/mbgl/map/map_options.hpp17
-rw-r--r--include/mbgl/map/mode.hpp8
-rwxr-xr-xplatform/android/src/native_map_view.cpp1
-rw-r--r--platform/ios/src/MGLMapView.mm6
-rw-r--r--platform/macos/src/MGLMapView.mm5
-rw-r--r--platform/node/src/node_map.cpp2
-rw-r--r--platform/qt/include/qmapboxgl.hpp10
-rw-r--r--platform/qt/src/qmapboxgl.cpp44
-rw-r--r--src/mbgl/map/map.cpp12
-rw-r--r--src/mbgl/map/map_impl.cpp5
-rw-r--r--src/mbgl/map/map_impl.hpp1
-rw-r--r--src/mbgl/map/map_options.cpp10
-rw-r--r--src/mbgl/map/transform.cpp18
-rw-r--r--src/mbgl/map/transform.hpp7
-rw-r--r--src/mbgl/map/transform_state.cpp28
-rw-r--r--src/mbgl/map/transform_state.hpp8
-rw-r--r--test/map/transform.test.cpp26
18 files changed, 12 insertions, 200 deletions
diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp
index 096bb90131..56aaffbcb7 100644
--- a/include/mbgl/map/map.hpp
+++ b/include/mbgl/map/map.hpp
@@ -90,10 +90,6 @@ public:
void setNorthOrientation(NorthOrientation);
NorthOrientation getNorthOrientation() const;
- // Constrain mode
- void setConstrainMode(ConstrainMode);
- ConstrainMode getConstrainMode() const;
-
// Viewport mode
void setViewportMode(ViewportMode);
ViewportMode getViewportMode() const;
diff --git a/include/mbgl/map/map_options.hpp b/include/mbgl/map/map_options.hpp
index 13772332a8..1a72837c4c 100644
--- a/include/mbgl/map/map_options.hpp
+++ b/include/mbgl/map/map_options.hpp
@@ -36,23 +36,6 @@ public:
MapMode mapMode() const;
/**
- * @brief Sets the map constrain mode. This can be used to limit the map
- * to wrap around the globe horizontally. By default, it is set to
- * HeightOnly.
- *
- * @param mode Map constrain mode.
- * @return reference to MapOptions for chaining options together.
- */
- MapOptions& withConstrainMode(ConstrainMode mode);
-
- /**
- * @brief Gets the previously set (or default) constrain mode.
- *
- * @return constrain mode.
- */
- ConstrainMode constrainMode() const;
-
- /**
* @brief Sets the viewport mode. This can be used to flip the vertical
* orientation of the map as some devices may use inverted orientation.
*
diff --git a/include/mbgl/map/mode.hpp b/include/mbgl/map/mode.hpp
index 4ee289d855..64b9271e4e 100644
--- a/include/mbgl/map/mode.hpp
+++ b/include/mbgl/map/mode.hpp
@@ -15,14 +15,6 @@ enum class MapMode : EnumType {
Tile // a once-off still image of a single tile
};
-// We can choose to constrain the map both horizontally or vertically, or only
-// vertically e.g. while panning.
-enum class ConstrainMode : EnumType {
- None,
- HeightOnly,
- WidthAndHeight,
-};
-
// Satisfies embedding platforms that requires the viewport coordinate systems
// to be set according to its standards.
enum class ViewportMode : EnumType {
diff --git a/platform/android/src/native_map_view.cpp b/platform/android/src/native_map_view.cpp
index 98aaedb7ab..641a91b6de 100755
--- a/platform/android/src/native_map_view.cpp
+++ b/platform/android/src/native_map_view.cpp
@@ -81,7 +81,6 @@ NativeMapView::NativeMapView(jni::JNIEnv& _env,
// Create Map options
MapOptions options;
options.withMapMode(MapMode::Continuous)
- .withConstrainMode(ConstrainMode::HeightOnly)
.withViewportMode(ViewportMode::Default)
.withCrossSourceCollisions(_crossSourceCollisions);
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm
index bc7b5da9ef..566901d1aa 100644
--- a/platform/ios/src/MGLMapView.mm
+++ b/platform/ios/src/MGLMapView.mm
@@ -471,7 +471,6 @@ public:
mbgl::MapOptions mapOptions;
mapOptions.withMapMode(mbgl::MapMode::Continuous)
- .withConstrainMode(mbgl::ConstrainMode::None)
.withViewportMode(mbgl::ViewportMode::Default)
.withCrossSourceCollisions(enableCrossSourceCollisions);
@@ -1231,11 +1230,6 @@ public:
BOOL isVisible = self.superview && self.window;
if (isVisible && ! _displayLink)
{
- if (_mbglMap && self.mbglMap.getConstrainMode() == mbgl::ConstrainMode::None)
- {
- self.mbglMap.setConstrainMode(mbgl::ConstrainMode::HeightOnly);
- }
-
_displayLink = [self.window.screen displayLinkWithTarget:self selector:@selector(updateFromDisplayLink:)];
[self updateDisplayLinkPreferredFramesPerSecond];
[_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
diff --git a/platform/macos/src/MGLMapView.mm b/platform/macos/src/MGLMapView.mm
index 09fb37add3..5aa10e0158 100644
--- a/platform/macos/src/MGLMapView.mm
+++ b/platform/macos/src/MGLMapView.mm
@@ -288,7 +288,6 @@ public:
mbgl::MapOptions mapOptions;
mapOptions.withMapMode(mbgl::MapMode::Continuous)
- .withConstrainMode(mbgl::ConstrainMode::None)
.withViewportMode(mbgl::ViewportMode::Default)
.withCrossSourceCollisions(enableCrossSourceCollisions);
_mbglMap = new mbgl::Map(*_rendererFrontend, *_mbglView, self.size, config.scaleFactor, *config.fileSource, mapOptions);
@@ -686,10 +685,6 @@ public:
self.dormant = NO;
}
- if (window && _mbglMap->getConstrainMode() == mbgl::ConstrainMode::None) {
- _mbglMap->setConstrainMode(mbgl::ConstrainMode::HeightOnly);
- }
-
[window addObserver:self
forKeyPath:@"contentLayoutRect"
options:NSKeyValueObservingOptionInitial
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp
index cb923428ac..0050546b1e 100644
--- a/platform/node/src/node_map.cpp
+++ b/platform/node/src/node_map.cpp
@@ -618,7 +618,6 @@ void NodeMap::cancel() {
frontend = std::make_unique<mbgl::HeadlessFrontend>(mbgl::Size{ 256, 256 }, pixelRatio, *this);
mbgl::MapOptions options;
options.withMapMode(mode)
- .withConstrainMode(mbgl::ConstrainMode::HeightOnly)
.withViewportMode(mbgl::ViewportMode::Default)
.withCrossSourceCollisions(crossSourceCollisions);
map = std::make_unique<mbgl::Map>(*frontend, mapObserver, frontend->getSize(), pixelRatio,
@@ -1207,7 +1206,6 @@ NodeMap::NodeMap(v8::Local<v8::Object> options)
pixelRatio,
*this,
mbgl::MapOptions().withMapMode(mode)
- .withConstrainMode(mbgl::ConstrainMode::HeightOnly)
.withViewportMode(mbgl::ViewportMode::Default)
.withCrossSourceCollisions(crossSourceCollisions))),
async(new uv_async_t) {
diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp
index e83be37511..a0611014cf 100644
--- a/platform/qt/include/qmapboxgl.hpp
+++ b/platform/qt/include/qmapboxgl.hpp
@@ -31,12 +31,6 @@ public:
Static
};
- enum ConstrainMode {
- NoConstrain = 0,
- ConstrainHeightOnly,
- ConstrainWidthAndHeight
- };
-
enum ViewportMode {
DefaultViewport = 0,
FlippedYViewport
@@ -48,9 +42,6 @@ public:
MapMode mapMode() const;
void setMapMode(MapMode);
- ConstrainMode constrainMode() const;
- void setConstrainMode(ConstrainMode);
-
ViewportMode viewportMode() const;
void setViewportMode(ViewportMode);
@@ -78,7 +69,6 @@ public:
private:
GLContextMode m_contextMode;
MapMode m_mapMode;
- ConstrainMode m_constrainMode;
ViewportMode m_viewportMode;
unsigned m_cacheMaximumSize;
diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp
index 7d3d722550..6df49a8247 100644
--- a/platform/qt/src/qmapboxgl.cpp
+++ b/platform/qt/src/qmapboxgl.cpp
@@ -71,11 +71,6 @@ static_assert(mbgl::underlying_type(QMapboxGLSettings::SharedGLContext) == mbgl:
static_assert(mbgl::underlying_type(QMapboxGLSettings::Continuous) == mbgl::underlying_type(mbgl::MapMode::Continuous), "error");
static_assert(mbgl::underlying_type(QMapboxGLSettings::Static) == mbgl::underlying_type(mbgl::MapMode::Static), "error");
-// mbgl::ConstrainMode
-static_assert(mbgl::underlying_type(QMapboxGLSettings::NoConstrain) == mbgl::underlying_type(mbgl::ConstrainMode::None), "error");
-static_assert(mbgl::underlying_type(QMapboxGLSettings::ConstrainHeightOnly) == mbgl::underlying_type(mbgl::ConstrainMode::HeightOnly), "error");
-static_assert(mbgl::underlying_type(QMapboxGLSettings::ConstrainWidthAndHeight) == mbgl::underlying_type(mbgl::ConstrainMode::WidthAndHeight), "error");
-
// mbgl::ViewportMode
static_assert(mbgl::underlying_type(QMapboxGLSettings::DefaultViewport) == mbgl::underlying_type(mbgl::ViewportMode::Default), "error");
static_assert(mbgl::underlying_type(QMapboxGLSettings::FlippedYViewport) == mbgl::underlying_type(mbgl::ViewportMode::FlippedY), "error");
@@ -213,24 +208,6 @@ std::unique_ptr<mbgl::style::Image> toStyleImage(const QString &id, const QImage
*/
/*!
- \enum QMapboxGLSettings::ConstrainMode
-
- This enum determines if the map wraps.
-
- \value NoConstrain The map will wrap on the horizontal axis. Since it doesn't
- make sense to wrap on the vertical axis in a Web Mercator projection, the map will scroll
- and show some empty space.
-
- \value ConstrainHeightOnly The map will wrap around the horizontal axis, like a spinning
- globe. This is the recommended constrain mode.
-
- \value ConstrainWidthAndHeight The map won't wrap and panning is restricted to the boundaries
- of the map.
-
- \sa constrainMode()
-*/
-
-/*!
\enum QMapboxGLSettings::ViewportMode
This enum flips the map vertically.
@@ -249,7 +226,6 @@ std::unique_ptr<mbgl::style::Image> toStyleImage(const QString &id, const QImage
QMapboxGLSettings::QMapboxGLSettings()
: m_contextMode(QMapboxGLSettings::SharedGLContext)
, m_mapMode(QMapboxGLSettings::Continuous)
- , m_constrainMode(QMapboxGLSettings::ConstrainHeightOnly)
, m_viewportMode(QMapboxGLSettings::DefaultViewport)
, m_cacheMaximumSize(mbgl::util::DEFAULT_MAX_CACHE_SIZE)
, m_cacheDatabasePath(":memory:")
@@ -304,25 +280,6 @@ void QMapboxGLSettings::setMapMode(MapMode mode)
}
/*!
- Returns the constrain mode. This is used to limit the map to wrap
- around the globe horizontally.
-
- By default, it is set to QMapboxGLSettings::ConstrainHeightOnly.
-*/
-QMapboxGLSettings::ConstrainMode QMapboxGLSettings::constrainMode() const
-{
- return m_constrainMode;
-}
-
-/*!
- Sets the map constrain \a mode.
-*/
-void QMapboxGLSettings::setConstrainMode(ConstrainMode mode)
-{
- m_constrainMode = mode;
-}
-
-/*!
Returns the viewport mode. This is used to flip the vertical
orientation of the map as some devices may use inverted orientation.
@@ -1767,7 +1724,6 @@ QMapboxGLPrivate::QMapboxGLPrivate(QMapboxGL *q, const QMapboxGLSettings &settin
mbgl::MapOptions options;
options.withMapMode(static_cast<mbgl::MapMode>(settings.mapMode()))
- .withConstrainMode(static_cast<mbgl::ConstrainMode>(settings.constrainMode()))
.withViewportMode(static_cast<mbgl::ViewportMode>(settings.viewportMode()));
// Setup the Map object
diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp
index 5bc7a37332..8b90aee492 100644
--- a/src/mbgl/map/map.cpp
+++ b/src/mbgl/map/map.cpp
@@ -39,7 +39,6 @@ Map::Map(RendererFrontend& rendererFrontend,
size,
pixelRatio,
options.mapMode(),
- options.constrainMode(),
options.viewportMode(),
options.crossSourceCollisions())) {}
@@ -348,17 +347,6 @@ NorthOrientation Map::getNorthOrientation() const {
return impl->transform.getNorthOrientation();
}
-#pragma mark - Constrain mode
-
-void Map::setConstrainMode(mbgl::ConstrainMode mode) {
- impl->transform.setConstrainMode(mode);
- impl->onUpdate();
-}
-
-ConstrainMode Map::getConstrainMode() const {
- return impl->transform.getConstrainMode();
-}
-
#pragma mark - Viewport mode
void Map::setViewportMode(mbgl::ViewportMode mode) {
diff --git a/src/mbgl/map/map_impl.cpp b/src/mbgl/map/map_impl.cpp
index 04200c267f..15caa34af4 100644
--- a/src/mbgl/map/map_impl.cpp
+++ b/src/mbgl/map/map_impl.cpp
@@ -12,16 +12,13 @@ Map::Impl::Impl(Map& map_,
Size size_,
float pixelRatio_,
MapMode mode_,
- ConstrainMode constrainMode_,
ViewportMode viewportMode_,
bool crossSourceCollisions_)
: map(map_),
observer(mapObserver),
rendererFrontend(frontend),
fileSource(fileSource_),
- transform(observer,
- constrainMode_,
- viewportMode_),
+ transform(observer, viewportMode_),
mode(mode_),
pixelRatio(pixelRatio_),
crossSourceCollisions(crossSourceCollisions_),
diff --git a/src/mbgl/map/map_impl.hpp b/src/mbgl/map/map_impl.hpp
index 598b72907a..af64d8c0f6 100644
--- a/src/mbgl/map/map_impl.hpp
+++ b/src/mbgl/map/map_impl.hpp
@@ -34,7 +34,6 @@ public:
float pixelRatio,
MapMode,
- ConstrainMode,
ViewportMode,
bool crossSourceCollisions);
diff --git a/src/mbgl/map/map_options.cpp b/src/mbgl/map/map_options.cpp
index 118fcaf3df..34586f364c 100644
--- a/src/mbgl/map/map_options.cpp
+++ b/src/mbgl/map/map_options.cpp
@@ -8,7 +8,6 @@ namespace mbgl {
class MapOptions::Impl {
public:
MapMode mapMode = MapMode::Continuous;
- ConstrainMode constrainMode = ConstrainMode::HeightOnly;
ViewportMode viewportMode = ViewportMode::Default;
std::string cachePath;
std::string assetRoot;
@@ -28,15 +27,6 @@ MapMode MapOptions::mapMode() const {
return impl_->mapMode;
}
-MapOptions& MapOptions::withConstrainMode(ConstrainMode mode) {
- impl_->constrainMode = mode;
- return *this;
-}
-
-ConstrainMode MapOptions::constrainMode() const {
- return impl_->constrainMode;
-}
-
MapOptions& MapOptions::withViewportMode(ViewportMode mode) {
impl_->viewportMode = mode;
return *this;
diff --git a/src/mbgl/map/transform.cpp b/src/mbgl/map/transform.cpp
index e60ce7a1bd..ea8d3fa482 100644
--- a/src/mbgl/map/transform.cpp
+++ b/src/mbgl/map/transform.cpp
@@ -37,9 +37,8 @@ static double _normalizeAngle(double angle, double anchorAngle)
}
Transform::Transform(MapObserver& observer_,
- ConstrainMode constrainMode,
ViewportMode viewportMode)
- : observer(observer_), state(constrainMode, viewportMode) {
+ : observer(observer_), state(viewportMode) {
}
#pragma mark - Map View
@@ -56,7 +55,7 @@ void Transform::resize(const Size size) {
observer.onCameraWillChange(MapObserver::CameraChangeMode::Immediate);
state.size = size;
- state.constrain(state.scale, state.x, state.y);
+ state.constrain(state.scale, state.y);
observer.onCameraDidChange(MapObserver::CameraChangeMode::Immediate);
}
@@ -405,24 +404,13 @@ double Transform::getPitch() const {
void Transform::setNorthOrientation(NorthOrientation orientation) {
state.orientation = orientation;
- state.constrain(state.scale, state.x, state.y);
+ state.constrain(state.scale, state.y);
}
NorthOrientation Transform::getNorthOrientation() const {
return state.getNorthOrientation();
}
-#pragma mark - Constrain mode
-
-void Transform::setConstrainMode(mbgl::ConstrainMode mode) {
- state.constrainMode = mode;
- state.constrain(state.scale, state.x, state.y);
-}
-
-ConstrainMode Transform::getConstrainMode() const {
- return state.getConstrainMode();
-}
-
#pragma mark - Viewport mode
void Transform::setViewportMode(mbgl::ViewportMode mode) {
diff --git a/src/mbgl/map/transform.hpp b/src/mbgl/map/transform.hpp
index c4e10ec797..e0cc5927d2 100644
--- a/src/mbgl/map/transform.hpp
+++ b/src/mbgl/map/transform.hpp
@@ -19,10 +19,9 @@ namespace mbgl {
class Transform : private util::noncopyable {
public:
Transform(MapObserver& = MapObserver::nullObserver(),
- ConstrainMode = ConstrainMode::HeightOnly,
ViewportMode = ViewportMode::Default);
- Transform(const TransformState &state_) : observer(MapObserver::nullObserver()), state(state_) {}
+ Transform(TransformState state_) : observer(MapObserver::nullObserver()), state(std::move(state_)) {}
// Map view
void resize(Size size);
@@ -76,10 +75,6 @@ public:
void setNorthOrientation(NorthOrientation);
NorthOrientation getNorthOrientation() const;
- // Constrain mode
- void setConstrainMode(ConstrainMode);
- ConstrainMode getConstrainMode() const;
-
// Viewport mode
void setViewportMode(ViewportMode);
ViewportMode getViewportMode() const;
diff --git a/src/mbgl/map/transform_state.cpp b/src/mbgl/map/transform_state.cpp
index e911067c5b..29152c10df 100644
--- a/src/mbgl/map/transform_state.cpp
+++ b/src/mbgl/map/transform_state.cpp
@@ -8,9 +8,8 @@
namespace mbgl {
-TransformState::TransformState(ConstrainMode constrainMode_, ViewportMode viewportMode_)
- : constrainMode(constrainMode_)
- , viewportMode(viewportMode_)
+TransformState::TransformState(ViewportMode viewportMode_)
+ : viewportMode(viewportMode_)
{
}
@@ -118,12 +117,6 @@ double TransformState::getNorthOrientationAngle() const {
return angleOrientation;
}
-#pragma mark - Constrain mode
-
-ConstrainMode TransformState::getConstrainMode() const {
- return constrainMode;
-}
-
#pragma mark - ViewportMode
ViewportMode TransformState::getViewportMode() const {
@@ -204,9 +197,8 @@ void TransformState::setMinZoom(const double minZoom) {
double TransformState::getMinZoom() const {
double test_scale = min_scale;
- double unused_x = x;
double unused_y = y;
- constrain(test_scale, unused_x, unused_y);
+ constrain(test_scale, unused_y);
return scaleZoom(test_scale);
}
@@ -370,11 +362,7 @@ bool TransformState::rotatedNorth() const {
return (orientation == NO::Leftwards || orientation == NO::Rightwards);
}
-void TransformState::constrain(double& scale_, double& x_, double& y_) const {
- if (constrainMode == ConstrainMode::None) {
- return;
- }
-
+void TransformState::constrain(double& scale_, double& y_) const {
// Constrain scale to avoid zooming out far enough to show off-world areas on the Y axis.
const double ratioY = (rotatedNorth() ? size.width : size.height) / util::tileSize;
scale_ = util::max(scale_, ratioY);
@@ -382,12 +370,6 @@ void TransformState::constrain(double& scale_, double& x_, double& y_) const {
// Constrain min/max pan to avoid showing off-world areas on the Y axis.
double max_y = (scale_ * util::tileSize - (rotatedNorth() ? size.width : size.height)) / 2;
y_ = std::max(-max_y, std::min(y_, max_y));
-
- if (constrainMode == ConstrainMode::WidthAndHeight) {
- // Constrain min/max pan to avoid showing off-world areas on the X axis.
- double max_x = (scale_ * util::tileSize - (rotatedNorth() ? size.height : size.width)) / 2;
- x_ = std::max(-max_x, std::min(x_, max_x));
- }
}
void TransformState::moveLatLng(const LatLng& latLng, const ScreenCoordinate& anchor) {
@@ -421,7 +403,7 @@ void TransformState::setLatLngZoom(const LatLng& latLng, double zoom) {
void TransformState::setScalePoint(const double newScale, const ScreenCoordinate &point) {
double constrainedScale = newScale;
ScreenCoordinate constrainedPoint = point;
- constrain(constrainedScale, constrainedPoint.x, constrainedPoint.y);
+ constrain(constrainedScale, constrainedPoint.y);
scale = constrainedScale;
x = constrainedPoint.x;
diff --git a/src/mbgl/map/transform_state.hpp b/src/mbgl/map/transform_state.hpp
index be7c300803..8067a8e1d8 100644
--- a/src/mbgl/map/transform_state.hpp
+++ b/src/mbgl/map/transform_state.hpp
@@ -23,7 +23,7 @@ class TransformState {
friend class RendererState;
public:
- TransformState(ConstrainMode = ConstrainMode::HeightOnly, ViewportMode = ViewportMode::Default);
+ TransformState(ViewportMode = ViewportMode::Default);
// Matrix
void matrixFor(mat4&, const UnwrappedTileID&) const;
@@ -36,9 +36,6 @@ public:
NorthOrientation getNorthOrientation() const;
double getNorthOrientationAngle() const;
- // Constrain mode
- ConstrainMode getConstrainMode() const;
-
// Viewport mode
ViewportMode getViewportMode() const;
@@ -95,7 +92,7 @@ public:
private:
bool rotatedNorth() const;
- void constrain(double& scale, double& x, double& y) const;
+ void constrain(double& scale, double& y) const;
optional<LatLngBounds> bounds;
@@ -120,7 +117,6 @@ private:
void setScalePoint(const double scale, const ScreenCoordinate& point);
private:
- ConstrainMode constrainMode;
ViewportMode viewportMode;
// animation state
diff --git a/test/map/transform.test.cpp b/test/map/transform.test.cpp
index 04b9c1a931..43b63c17a6 100644
--- a/test/map/transform.test.cpp
+++ b/test/map/transform.test.cpp
@@ -159,32 +159,6 @@ TEST(Transform, UnwrappedLatLng) {
ASSERT_NEAR(wrappedLeftwards.longitude(), -77.0, 1e-8);
}
-TEST(Transform, ConstrainHeightOnly) {
- Transform transform(MapObserver::nullObserver(), ConstrainMode::HeightOnly);
- transform.resize({ 2, 2 });
-
- transform.jumpTo(CameraOptions().withCenter(LatLngBounds::world().southwest()).withZoom(util::MAX_ZOOM));
- ASSERT_NEAR(-util::LATITUDE_MAX, transform.getLatLng().latitude(), 1e-7);
- ASSERT_NEAR(-util::LONGITUDE_MAX, transform.getLatLng().longitude(), 1e-7);
-
- transform.jumpTo(CameraOptions().withCenter(LatLngBounds::world().northeast()));
- ASSERT_NEAR(util::LATITUDE_MAX, transform.getLatLng().latitude(), 1e-7);
- ASSERT_NEAR(-util::LONGITUDE_MAX, transform.getLatLng().longitude(), 1e-7);
-}
-
-TEST(Transform, ConstrainWidthAndHeight) {
- Transform transform(MapObserver::nullObserver(), ConstrainMode::WidthAndHeight);
- transform.resize({ 2, 2 });
-
- transform.jumpTo(CameraOptions().withCenter(LatLngBounds::world().southwest()).withZoom(util::MAX_ZOOM));
- ASSERT_NEAR(-util::LATITUDE_MAX, transform.getLatLng().latitude(), 1e-7);
- ASSERT_NEAR(-util::LONGITUDE_MAX, transform.getLatLng().longitude(), 1e-6);
-
- transform.jumpTo(CameraOptions().withCenter(LatLngBounds::world().northeast()));
- ASSERT_NEAR(util::LATITUDE_MAX, transform.getLatLng().latitude(), 1e-7);
- ASSERT_NEAR(-util::LONGITUDE_MAX, transform.getLatLng().longitude(), 1e-6);
-}
-
TEST(Transform, Anchor) {
Transform transform;
transform.resize({ 1000, 1000 });