-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Fix CollisionTile::queryRenderedSymbols query geometry #6553
Conversation
@brunoabinader, thanks for your PR! By analyzing the history of the files in this pull request, we identified @jfirebaugh, @ansis and @kkaefer to be potential reviewers. |
Next steps:
|
9484fad
to
86e4098
Compare
Commit 86e4098 fixes an issue I found out while testing for queries: when symbols were placed on tile edges e.g. |
Heads up: Though the fixes on this PR are valid, I am still obtaining the wrong amount of features while querying for visible features as I simply zoom in and out of the map. I'll continue my investigations around the relations between |
We were erroneously assigning a value to optional<ScreenCoordinate> (null island), causing it to be a valid anchor for Transform::easeTo.
86e4098
to
b92af8b
Compare
This provides a means of testing cases where an updated geometry tile would return wrong results for `queryRenderedFeatures`.
This gives the ability to pan the map in a posterior step after initial render for testing purposes.
Edge cases e.g. a point in null island (0, 0) makes the geometry intersectable by the four surrounding tiles. This makes sure only the tile that produces a valid projection in updateLayer() continues.
fff496d
to
fe86312
Compare
This PR is getting too big and addressing many different issues. I'm closing this in favor of separated PRs to handle each bug fix specifically. |
This PR has been split in the following PRs and/or issues: Fixed and/or pending review:
What's left:
|
Due to a bug in
CollisionTile
- see #6055 (comment) for details - the results forqueryRenderedFeatures
for symbol features was wrong in some cases e.g. when map bearing is updated. This PR implements the proposed fix and adds both query and unit tests to verify.In order to support the proposed query tests, two new Node.js functions are proposed:
setCenter
andsetBearing
. These are exemplified viaoperations
insidestyle.json
.Fixes #6055.