summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/tile_pyramid.cpp
diff options
context:
space:
mode:
authorChris Loer <chris.loer@gmail.com>2018-04-03 02:41:09 +0200
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2018-05-23 11:12:23 +0200
commitd002e74e38a2a19785d8733a6130d1b8428f5eff (patch)
treee217f118b345ff704c528c963bb5212874a5b1a1 /src/mbgl/renderer/tile_pyramid.cpp
parent3ef1f5f8b45f1aa0a5f4bafd6c07a737b6160883 (diff)
downloadqtlocation-mapboxgl-d002e74e38a2a19785d8733a6130d1b8428f5eff.tar.gz
[core] fix querying circles across tile boundaries
(cherry picked from commit f7d20a5)
Diffstat (limited to 'src/mbgl/renderer/tile_pyramid.cpp')
-rw-r--r--src/mbgl/renderer/tile_pyramid.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mbgl/renderer/tile_pyramid.cpp b/src/mbgl/renderer/tile_pyramid.cpp
index e2d4d9829f..b2d72680e7 100644
--- a/src/mbgl/renderer/tile_pyramid.cpp
+++ b/src/mbgl/renderer/tile_pyramid.cpp
@@ -264,13 +264,15 @@ std::unordered_map<std::string, std::vector<Feature>> TilePyramid::queryRendered
});
for (const RenderTile& renderTile : sortedTiles) {
+ auto queryPadding = renderTile.tile.getQueryPadding(layers);
+
GeometryCoordinate tileSpaceBoundsMin = TileCoordinate::toGeometryCoordinate(renderTile.id, box.min);
- if (tileSpaceBoundsMin.x >= util::EXTENT || tileSpaceBoundsMin.y >= util::EXTENT) {
+ if (tileSpaceBoundsMin.x - queryPadding >= util::EXTENT || tileSpaceBoundsMin.y - queryPadding >= util::EXTENT) {
continue;
}
GeometryCoordinate tileSpaceBoundsMax = TileCoordinate::toGeometryCoordinate(renderTile.id, box.max);
- if (tileSpaceBoundsMax.x < 0 || tileSpaceBoundsMax.y < 0) {
+ if (tileSpaceBoundsMax.x + queryPadding < 0 || tileSpaceBoundsMax.y + queryPadding < 0) {
continue;
}