summaryrefslogtreecommitdiff
path: root/include/mbgl/util/tileset.hpp
diff options
context:
space:
mode:
authorAsheem Mamoowala <asheem.mamoowala@mapbox.com>2018-01-05 06:35:31 -0800
committerGitHub <noreply@github.com>2018-01-05 06:35:31 -0800
commit10a44050f485a18f8dd6523aca6a7a9f82f7afc7 (patch)
treefea7f30e35b3228b5989250ff9db225e12bd10ed /include/mbgl/util/tileset.hpp
parentbfa4cea24c2ab3973f845fda6da6d4a9e8f03e56 (diff)
downloadqtlocation-mapboxgl-10a44050f485a18f8dd6523aca6a7a9f82f7afc7.tar.gz
Support TileJSON bounds property (#10701)
* [core] Parse TileJSON bounds property * [core] Add TileRange and LatLngBounds::contains(CanonicalTileID) Move LatLngBounds::contains impl to cpp file * [core] Skip tile creation outside of tileset bounds * [core] Fix TileRange for wrapped bounds and use for CustomTileLoader instead of LatLngBounds comparisons for tiles.
Diffstat (limited to 'include/mbgl/util/tileset.hpp')
-rw-r--r--include/mbgl/util/tileset.hpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/include/mbgl/util/tileset.hpp b/include/mbgl/util/tileset.hpp
index 5a03e1a9da..7bef0e89ed 100644
--- a/include/mbgl/util/tileset.hpp
+++ b/include/mbgl/util/tileset.hpp
@@ -2,7 +2,8 @@
#include <mbgl/util/range.hpp>
#include <mbgl/util/constants.hpp>
-
+#include <mbgl/util/optional.hpp>
+#include <mbgl/util/geo.hpp>
#include <tuple>
#include <vector>
#include <string>
@@ -18,6 +19,7 @@ public:
Range<uint8_t> zoomRange;
std::string attribution;
Scheme scheme;
+ optional<LatLngBounds> bounds;
Tileset(std::vector<std::string> tiles_ = std::vector<std::string>(),
Range<uint8_t> zoomRange_ = { 0, util::DEFAULT_MAX_ZOOM },
@@ -26,13 +28,14 @@ public:
: tiles(std::move(tiles_)),
zoomRange(std::move(zoomRange_)),
attribution(std::move(attribution_)),
- scheme(scheme_) {}
+ scheme(scheme_),
+ bounds() {}
- // TileJSON also includes center, zoom, and bounds, but they are not used by mbgl.
+ // TileJSON also includes center and zoom but they are not used by mbgl.
friend bool operator==(const Tileset& lhs, const Tileset& rhs) {
- return std::tie(lhs.tiles, lhs.zoomRange, lhs.attribution, lhs.scheme)
- == std::tie(rhs.tiles, rhs.zoomRange, rhs.attribution, rhs.scheme);
+ return std::tie(lhs.tiles, lhs.zoomRange, lhs.attribution, lhs.scheme, lhs.bounds)
+ == std::tie(rhs.tiles, rhs.zoomRange, rhs.attribution, rhs.scheme, rhs.bounds);
}
};