diff options
author | Asheem Mamoowala <asheemm@gmail.com> | 2017-02-21 18:34:45 -0800 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-03-04 15:42:07 -0800 |
commit | 60d10dd27df38ac4e97214d1cd514198c381695c (patch) | |
tree | f4ce0ecbf3a7eeb5c19f994d02152fc624b458d9 /src/mbgl/style/style.cpp | |
parent | ac4e13416a36905b35401fc1a982c680ca37a3d0 (diff) | |
download | qtlocation-mapboxgl-60d10dd27df38ac4e97214d1cd514198c381695c.tar.gz |
[core] Add support for queryRenderedFeatures filter
Diffstat (limited to 'src/mbgl/style/style.cpp')
-rw-r--r-- | src/mbgl/style/style.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mbgl/style/style.cpp b/src/mbgl/style/style.cpp index b6f14ecf4b..aacf811f4d 100644 --- a/src/mbgl/style/style.cpp +++ b/src/mbgl/style/style.cpp @@ -14,7 +14,6 @@ #include <mbgl/style/layers/raster_layer.hpp> #include <mbgl/style/layer_impl.hpp> #include <mbgl/style/parser.hpp> -#include <mbgl/style/query_parameters.hpp> #include <mbgl/style/transition_options.hpp> #include <mbgl/style/class_dictionary.hpp> #include <mbgl/style/update_parameters.hpp> @@ -31,6 +30,7 @@ #include <mbgl/util/logging.hpp> #include <mbgl/util/math.hpp> #include <mbgl/math/minmax.hpp> +#include <mbgl/map/query.hpp> #include <algorithm> @@ -502,11 +502,13 @@ RenderData Style::getRenderData(MapDebugOptions debugOptions, float angle) const return result; } -std::vector<Feature> Style::queryRenderedFeatures(const QueryParameters& parameters) const { +std::vector<Feature> Style::queryRenderedFeatures(const ScreenLineString& geometry, + const TransformState& transformState, + const QueryOptions& options) const { std::unordered_set<std::string> sourceFilter; - if (parameters.layerIDs) { - for (const auto& layerID : *parameters.layerIDs) { + if (options.layerIDs) { + for (const auto& layerID : *options.layerIDs) { auto layer = getLayer(layerID); if (layer) sourceFilter.emplace(layer->baseImpl->source); } @@ -520,7 +522,7 @@ std::vector<Feature> Style::queryRenderedFeatures(const QueryParameters& paramet continue; } - auto sourceResults = source->baseImpl->queryRenderedFeatures(parameters); + auto sourceResults = source->baseImpl->queryRenderedFeatures(geometry, transformState, options); std::move(sourceResults.begin(), sourceResults.end(), std::inserter(resultsByLayer, resultsByLayer.begin())); } |