Skip to content
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

Tracking in the GeoJSON simplestyle Sandcastle example is broken #4396

Closed
bagnell opened this issue Sep 30, 2016 · 4 comments
Closed

Tracking in the GeoJSON simplestyle Sandcastle example is broken #4396

bagnell opened this issue Sep 30, 2016 · 4 comments

Comments

@bagnell
Copy link
Contributor

bagnell commented Sep 30, 2016

Load the GeoJSON simplestyle Sandcastle example and double click one of the pins.

@mramato
Copy link
Contributor

mramato commented Oct 19, 2016

This is really weird, it only seems to happen in this example and only because that example is in 2D. It seems to have been introduced in 1.23. Perhaps clamping related?

@mramato
Copy link
Contributor

mramato commented Oct 19, 2016

OK, I tracked it down. There are 2 problems.

  1. GeoJsonDataSource is not honoring clampToGround for billbaords, so they are being clamped by default.
  2. BillboardVisualizer.getBoundingSphere is using billboard._clampedPosition for the boundingSphere location and that appears to be incorrect, either because of bugs in our clamping or perhaps it doesn't mean the same thing in 2D that we think it does? getBoundingSphere always expects to return world coordinates.

@bagnell thoughts?

@mramato
Copy link
Contributor

mramato commented Oct 20, 2016

You now need to specify clampToGround:true when loading the GeoJSON to reproduce this (since we no longer clamp bu default).

mramato added a commit that referenced this issue Oct 21, 2016
Turns out that billboard and label clamping were fundamentally broken
because the `QuadtreePrimitive` was processing the tile queue in the wrong
order.  It was always pulling new tiles from the back of the array rather
than the front, which meant that data would get processed in the wrong
order causing old tiles to take precedence over newer tiles.

Addtiionally, there was a bad if block in `Label.js` which caused the
initial position of the individual label billboards to not be properly set
when clamping was on, instead we should always set the positions before
calling `_updateClamping` (if needed).

Fixes #4396 and #4062
@pjcozzi
Copy link
Contributor

pjcozzi commented Oct 21, 2016

Fixed in #4493

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants