-
Notifications
You must be signed in to change notification settings - Fork 312
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
Add Nav Native E-Horizon Support #2717
Conversation
Dropping some notes here on concerns I have:
|
After speaking to Pablo it sounds like the details of what's exposed by Nav Native for EH are still being worked on. The main customer driver for the feature is not being worked on until 2021. For now the main concern of this ticket is to reach parity with Android which I think this PR does. I will probably move the visualization of MPP data to a separate debugging app though, depending on how much visualization code we want in the SDK itself. |
Removed debug visualizer and added stubs for eHorizon callback functions. We can implement the debug visualizer in a client app rather than the SDK or sample app. |
@1ec5 @MaximAlien - Some important points to consider:
|
@zugaldia @Guardiola31337 - Tagging you here to see if you have suggestions as to which parts of the implementation go where (Nav SDK vs. Client app) |
return Navigator(profile: settingsProfile, config: NavigatorConfig(), customConfig: "", tilesConfig: TilesConfig()) | ||
}() | ||
|
||
let electronicHorizonOptions = ElectronicHorizonOptions(length: 2000, expansion: 1, branchLength: 50, includeGeometries: true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These length:expansion:branchLength: values come from what the Android implementation is doing now. We may want to change them later based on feedback from Nav Native.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW these values don't match what we include by default on the Android side 👀
For reference these are also defined in https://docs.google.com/document/d/1zVVp-u4ncsXLOzjLfQcaobU49x2Is8K_hsRDKwwqnMY/edit#heading=h.ba0pii7uoro7
What do you want to know exactly? What were you thinking on exposing from the SDK? On the Android side we only provide the core / data side of things from the SDK, there's nothing UI related exposed and that's developed in the app side. Does that help / answer your question? |
It does help. So the Android side just added the couple of new callbacks for EH (EH updates and position updates) with the NN data structures and no extra processing or semantics added on top? This is pretty much where this PR is now. |
|
Plus some utility functions from |
cc4afb6
to
b43c1f3
Compare
I'll bring this up to date with my work on e-horizon in a test app. If possible it would be nice to merge the base support in soon to reach parity with Android. |
… for unimplemented delegate methods. The debug visualizer can be implemented in client app if desired.
…e. Pass it along to PassiveLocationManager and add an optional delegate for EH methods to the PassiveLocationManager.
MapboxNavigationNative has revamped its e-horizon functionality and API. #2834 will implement the new version for navigation SDK v2.0.0. |
Draft PR for reviewing work on adding support for E-Horizon information flowing from Nav Native.