summaryrefslogtreecommitdiff
path: root/test/api/query.test.cpp
diff options
context:
space:
mode:
authorzmiao <miao.zhao@mapbox.com>2019-11-07 18:16:31 +0200
committerGitHub <noreply@github.com>2019-11-07 18:16:31 +0200
commit2e8a350d68be75d9505fab9dc897c4abbcae05aa (patch)
treee73bd5c629b3357326e663a8405c35c227b36ff2 /test/api/query.test.cpp
parent1d49c23b8558e8c24a51e7ba84525ddd06f231be (diff)
downloadqtlocation-mapboxgl-2e8a350d68be75d9505fab9dc897c4abbcae05aa.tar.gz
[core] Add batch conversion of latLngs to/from screenCoords (#15891)
* [core] Add batch conversion of latLng vs screenCoord * [core] Take the simple approach
Diffstat (limited to 'test/api/query.test.cpp')
-rw-r--r--test/api/query.test.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/test/api/query.test.cpp b/test/api/query.test.cpp
index 83aeec81ec..54ae89767a 100644
--- a/test/api/query.test.cpp
+++ b/test/api/query.test.cpp
@@ -75,10 +75,22 @@ std::vector<Feature> getTopClusterFeature(QueryTest& test) {
TEST(Query, QueryRenderedFeatures) {
QueryTest test;
- auto features1 = test.frontend.getRenderer()->queryRenderedFeatures(test.map.pixelForLatLng({ 0, 0 }));
+ // Batch conversion of latLngs to pixels
+ auto points = test.map.pixelsForLatLngs({{0, 0}, {9, 9}});
+ ASSERT_EQ(2, points.size());
+ // Single conversion of latLng to pixel
+ auto point0 = test.map.pixelForLatLng({0, 0});
+ ASSERT_NEAR(points[0].x, point0.x, 1e-8);
+ ASSERT_NEAR(points[0].y, point0.y, 1e-8);
+
+ auto point1 = test.map.pixelForLatLng({9, 9});
+ ASSERT_NEAR(points[1].x, point1.x, 1e-8);
+ ASSERT_NEAR(points[1].y, point1.y, 1e-8);
+
+ auto features1 = test.frontend.getRenderer()->queryRenderedFeatures(point0);
EXPECT_EQ(features1.size(), 4u);
- auto features2 = test.frontend.getRenderer()->queryRenderedFeatures(test.map.pixelForLatLng({ 9, 9 }));
+ auto features2 = test.frontend.getRenderer()->queryRenderedFeatures(point1);
EXPECT_EQ(features2.size(), 0u);
}