Group bounds, minimum and maximum zoom related methods together using the new BoundOptions. v2: Document that getBounds() initializes all optional fields. - Add test for getBounds() on a map with default values.
31 lines
870 B
C++
31 lines
870 B
C++
#pragma once
|
|
|
|
#include <mbgl/util/geo.hpp>
|
|
#include <mbgl/util/optional.hpp>
|
|
|
|
namespace mbgl {
|
|
|
|
/**
|
|
* @brief Holds options to limit what parts of a map are visible. All fields are
|
|
* optional.
|
|
*/
|
|
struct BoundOptions {
|
|
/// Sets the latitude and longitude bounds to which the camera center are constrained
|
|
BoundOptions& withLatLngBounds(LatLngBounds b) { bounds = b; return *this; }
|
|
/// Sets the minimum zoom level
|
|
BoundOptions& withMinZoom(double z) { minZoom = z; return *this; }
|
|
/// Sets the maximum zoom level
|
|
BoundOptions& withMaxZoom(double z) { maxZoom = z; return *this; }
|
|
|
|
/// Constrain the center of the camera to be within these bounds.
|
|
optional<LatLngBounds> bounds;
|
|
|
|
/// Maximum zoom level allowed.
|
|
optional<double> maxZoom;
|
|
|
|
/// Minimum zoom level allowed.
|
|
optional<double> minZoom;
|
|
};
|
|
|
|
} // namespace mbgl
|