diff options
Diffstat (limited to 'src/mbgl/style/source_impl.cpp')
-rw-r--r-- | src/mbgl/style/source_impl.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/mbgl/style/source_impl.cpp b/src/mbgl/style/source_impl.cpp index 003df4f6b1..22e51f8885 100644 --- a/src/mbgl/style/source_impl.cpp +++ b/src/mbgl/style/source_impl.cpp @@ -4,12 +4,12 @@ #include <mbgl/renderer/render_tile.hpp> #include <mbgl/renderer/painter.hpp> #include <mbgl/style/update_parameters.hpp> -#include <mbgl/style/query_parameters.hpp> #include <mbgl/text/placement_config.hpp> #include <mbgl/util/logging.hpp> #include <mbgl/math/clamp.hpp> #include <mbgl/util/tile_cover.hpp> #include <mbgl/util/enum.hpp> +#include <mbgl/map/query.hpp> #include <mbgl/algorithm/update_renderables.hpp> #include <mbgl/algorithm/generate_clip_ids.hpp> @@ -200,17 +200,19 @@ void Source::Impl::reloadTiles() { } } -std::unordered_map<std::string, std::vector<Feature>> Source::Impl::queryRenderedFeatures(const QueryParameters& parameters) const { +std::unordered_map<std::string, std::vector<Feature>> Source::Impl::queryRenderedFeatures(const ScreenLineString& geometry, + const TransformState& transformState, + const QueryOptions& options) const { std::unordered_map<std::string, std::vector<Feature>> result; - if (renderTiles.empty() || parameters.geometry.empty()) { + if (renderTiles.empty() || geometry.empty()) { return result; } LineString<double> queryGeometry; - for (const auto& p : parameters.geometry) { + for (const auto& p : geometry) { queryGeometry.push_back(TileCoordinate::fromScreenCoordinate( - parameters.transformState, 0, { p.x, parameters.transformState.getSize().height - p.y }).p); + transformState, 0, { p.x, transformState.getSize().height - p.y }).p); } mapbox::geometry::box<double> box = mapbox::geometry::envelope(queryGeometry); @@ -245,8 +247,8 @@ std::unordered_map<std::string, std::vector<Feature>> Source::Impl::queryRendere renderTile.tile.queryRenderedFeatures(result, tileSpaceQueryGeometry, - parameters.transformState, - parameters.layerIDs); + transformState, + options); } return result; |