-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
symbol-placement: line-center produces incorrect results at some zoom levels #9628
Comments
The zoom level 18 thing appears to be a red herring: I'm now thinking that what's happening is that the geometry used to calculate the line center is the portion of the line within the current tile, not the entire feature. So each tile calculates a different center, and as you zoom in it becomes increasingly likely that multiple anchors will be placed. If I'm on the right track, then the only case when the center is correctly calculated is when the entire feature fits within one tile + buffer. |
Hmm. I have a fix that works up through the current release (1.9.1) but does work with current master due to major changes via #9219. I'll wait for the next stable release before opening a PR. |
Your hypothesis is correct @mike-unearth , and you fix looks like its the correct approach 🎉 . Could you please update the |
Problem still exists - is there any fix? |
Also run into into this issue. Any timeline when this is being fixed? |
Same here, using line midpoint instead, sadge |
mapbox-gl-js version: 1.9.1
browser: Chrome 81
Steps to Trigger Behavior
symbol-placement: line-center
Link to Demonstration
https://jsfiddle.net/37sgzkme/
Expected Behavior
My understanding is that the label should appear at the center of the geometry at all zoom levels.
Actual Behavior
The label appears at the center of the geometry at all zoom levels below 18. Above 18, multiple labels are rendered along the line, or in some cases the single label simply moves to a new location on the line.
Increasing the source buffer size definitely helps, and in fact solves the issue for some simple lines, but my dataset is dynamic.
The following two lines in
symbol_layout.js
are certainly eye-catching, but I haven't yet figured out exactly what's going wrong and why.The text was updated successfully, but these errors were encountered: