Hello everyone,
I am new here and I have a few questions about how Navit can be used
as part of an application.
I have created Windows 8 applications (specific to Windows 8, the ones you can find in the new Windows Store) in
JavaScript, including one called Maps Pro that allow you to display a map, choose a basemap, display POIs, routing, GPS tracking and stuff like that. More information can be found here:
http://apps.microsoft.com/windows/en-GB ... c9a858a072Many users asked me for more, basically a
complete navigation software for their tablets, because there is no application which currently do that. Features would include:
- Map display (including day / night styles and bird's view)
- Routing both online and offline
- Re-routing
- Turn-by-turn instructions with text-to-speech if possible
- ... and the basic features offered by navigation systems (speed, distance remaining, ...)
On Windows 8, you can develop with
2 stacks:
- C/C++/C# and XAML for the interface
- JavaScript and HTML / CSS for interface
So what I think would be best in my mind would be if I could use Navit as some kind of
"code library", meaning that Navit is not the core of the app, just a part of it that i can query and use. Like i would need Navit to render the current map to an image I would display. Or instead of Navit trying to grab the GPS position, I could provide it because Windows 8 provides the API to grab the GPS position without having to decode NMEA. Or have "hooks" within Navit so that i can grab the curren route informations and display it in my application, instead of letting Navit handle it.
So, I have a few
questions from here:
- Has something similar already be done by the community (same usage, doesn't have to be the same context)?
- Would it be hard or impossible to do? or require a very advanced knowledge of the Navit internals
- Where should i begin ?

Update: Got a hint from "kamikaaze" on the IRC chat who told me to have a look at the
Android port of Navit which does just that. From what I understood from the code, there is a wrapper around Navit, with a "bridge" that is called via JNI in Java Code.
There is a similar technique for Windows 8 apps that is called "Windows Runtime Component" that in theory would allow me to package some C code with a "bridge" (a public API) in C# or something that I could call from my application. More information on that in this tutorial for instance:
http://kishore1021.wordpress.com/2012/0 ... 8-c-metro/I have to say that I am really new to C development, i know a lot more about ActionScript / JavaScript / Java but I am ready to learn.
I checked out the sources, including the Android bridge and I cannot figure out what Navit sources are
compiled and when (using CMake?). Which source files do I need to compile for my usage? How do you do that exactly, is there a compilation step I need to take or can I just import what I need into Visual Studio that will understand the dependencies between the files? I believe i would need the same set of files that is used on Android but i haven't been able to understand how the Android part was compiled.
Thanks a lot for any help you can give me !
Fabien