diff options
Diffstat (limited to 'include/mbgl/style/sources')
-rw-r--r-- | include/mbgl/style/sources/geojson_source.hpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/mbgl/style/sources/geojson_source.hpp b/include/mbgl/style/sources/geojson_source.hpp index a03b910279..4aec1584a6 100644 --- a/include/mbgl/style/sources/geojson_source.hpp +++ b/include/mbgl/style/sources/geojson_source.hpp @@ -1,9 +1,14 @@ #pragma once +#include <mbgl/style/expression/expression.hpp> #include <mbgl/style/source.hpp> +#include <mbgl/util/constants.hpp> #include <mbgl/util/geojson.hpp> #include <mbgl/util/optional.hpp> -#include <mbgl/util/constants.hpp> + +#include <memory> +#include <unordered_map> +#include <utility> namespace mbgl { @@ -24,11 +29,15 @@ struct GeoJSONOptions { bool cluster = false; uint16_t clusterRadius = 50; uint8_t clusterMaxZoom = 17; + using ClusterExpression = std::pair<std::shared_ptr<mbgl::style::expression::Expression>, + std::shared_ptr<mbgl::style::expression::Expression>>; + using ClusterProperties = std::unordered_map<std::string, ClusterExpression>; + ClusterProperties clusterProperties; }; class GeoJSONSource : public Source { public: - GeoJSONSource(const std::string& id, const GeoJSONOptions& = {}); + GeoJSONSource(const std::string& id, optional<GeoJSONOptions> = nullopt); ~GeoJSONSource() final; void setURL(const std::string& url); |