-
Notifications
You must be signed in to change notification settings - Fork 1.3k
MGLComputedShapeSource renders clipped features #12995
Comments
Just a guess we have is that this might be connected to mapbox’s tracking of active/visible tiles. It seems like the tile where the geometry is cut off is inactive. Even if new geometries are added, and the source reloaded/invalidated, they do not appear in the region of the inactive tile. When panning the tile out of view and back again all geometries appear as expected. |
@albintornqvist can you provide a test case so we can try to reproduce this issue? |
I found a way to reproduce the bug in the iOS test app. The problem occurs when it takes some time to feed the data source with geometries and the map is navigated around with a bit of delay at the same time. I tried to replicate the events in our app leading up to the problem. |
Any news on this issue? Our production is currently stalled because of this issue and we would appreciate all the help we can get! |
@albintornqvist sorry for not getting back on this sooner. I haven't been able to reproduce this issue as yet. Is there a specific iPad version that you use on the simulator to reproduce this consistently. Also - if your geometry spans multiple tiles - you could try setting |
I can successfully reproduce the issue @albintornqvist provided (peroper@68aff8b) on both the iPad Pro simulator, and the iPad Air 2 (12.1) simulator. I also tried setting |
I am able to reproduce this consistently with the changes from (peroper@68aff8b). Thank you for boiling it down to such a simple case. My initial guess of what was causing this was way off. Given the asynchronous nature of tile requests and loads, I had to use printf debugging to understand what was going on:
The problem displayed above is that contents of tile 4399/2465/13 are not being rendered. It turns out that the animation of the map is causing that specific tile to be tagged as The bug goes away if the timing of this animation has subtle changes, or if I add breakpoints. This is likely caused by the timing of A tile marked as optional doesn't get cancelled by other sources. It usually returns and is available for rendering if later required, without needing to be marked as I need to further investigate why the tile is not being |
This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions. |
This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions. |
In our iOS-application we often see that features from a MGLComputedShapeSource does not get fully rendered. They appear to get clipped in tile boundaries. The error seems to correct itself when panning away from the tile and back again.
See the gif below illustrating the problem.
We can observe that the correct feature appears briefly when first rendered. Then the upper right part of the feature disappears (when the rendering has settled) and appears again when panning away and back again.
Configuration
Mapbox SDK versions: 4.4.1
iOS/macOS versions: 12
Device/simulator models: iPad Pro A1709
Xcode version: 10.0
The text was updated successfully, but these errors were encountered: