Re: App for vector renderer maps, using OpenGL ES 2.0
Have to admit that I really like it much better than all the Mapnik styles I've tried. Is this https://www.mapbox.com/maps/outdoors/ OSM, or are they using some additional data source?
Looks too good to me to be OSM. /me curses at the stupid build system. I am currently toying with the Bluetooth protocol on a Garmin Fenix I got secondhand and I would enjoy something like this to render my little walks :) |
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
Quote:
|
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
My perusal of the source code hasn't yet found exactly how are you supposed to feed actual map data to it. Quote:
I suspect It'd be better+easier to setup a Ubuntu VM to test it around (and see if I can replicate the output I get from their website). |
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
https://www.mapbox.com/about/maps/#data-sources Quote:
|
Re: App for vector renderer maps, using OpenGL ES 2.0
I have managed to compile Mapbox GL Native for SFOS and tested it with the small app. All seems to be working as expected. Even in online mode, its fast, allows smooth transitions and so on.
SFOS packaging: Compilation relies on recent gcc (using 6.4.0, https://build.merproject.org/package...oolbox/opt-gcc). The compiled Qt version of the library is available at https://build.merproject.org/package...maps/qmapboxgl on the basis of https://github.com/rinigus/pkg-mapbox-gl-native . QML integration: At present, Mapbox GL Native development is targeting Qt/QML through QtLocation 5.9 plugin. As a result, direct interface with QML was removed in the beginning of March 2017. I have made a small project that would allow us to interface Mapbox GL through QML at https://github.com/rinigus/mapbox-gl-qml . Idea is to compose the interface that can be used by mapping applications for showing and interacting with the maps. Interface between OpenGL and QML is based on the same approach as used in the current implementation for QtLocation. This looks to be compatible with Silica as well, as much as I tested. Small SFOS app is available at https://github.com/rinigus/mapbox-demo-sfos and shows how to integrate developed QML interface into the app as well as the integration with gcc-6.4.0. I am letting you know about the development early, so we can discuss the ways we can integrate it with the available map applications (Poor Maps, modRana, Maep, and others). There is plenty to do, but all seems to be doable at this stage and shouldn't take a while before we'll get the map applications based on OpenGL rendering. Ideally, we should keep the same source code trees for tile-based and OpenGL map applications. |
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
You never stop !:D Good work as usual ! I imagine you want to put the OpenGL rendering part inside the maps applications, and changing the server to also serve vector maps ? Would you also want to use OpenGL to render raster map (for the apps not supporting vector) on the server side ? Seeing the progress made in QtLocation 5.9 (http://blog.qt.io/blog/2017/09/04/qtlocation-5-9/), do you think backporting the whole QtLocation to Qt5.6 would be possible and not too much work, in order to stay as compatible as possible with those future improvements ? On my side, I am working (albeit a hundred times slower than you) on a stripped down HUD like interface for another target (Odroid C2). So far, I used OSRM (Open Source Routing Machine) as it was the first of all the engines I got to compile (OSM has a lot of dependencies in comparison...), and has an embedded server. I played with its debug vector tile output for some tests (http://project-osrm.org/docs/v5.7.0/api/#tile-service). I decoded them manually with QPainter so far, as they are only containing roads, not the full maps details as MapBox can render), OpenGL is my next target to allow tilting the maps to show the horizon, like you would have in other car navigation systems (like old Here Maps : http://www.geeky-gadgets.com/wp-cont...-here-maps.jpg). You are making me think about how to move this to something that could be shared with Sailfish, despite I would have trouble to keep up with your pace, and not having Silica and other Sailfish specific components... |
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
Quote:
However, as far as I can see, much of it should be supported by Mapbox GL. Not sure about videos played on top of the map, but tilting & rotating is all there. Quote:
|
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
Quote:
I took a look at the MapBox GL before, but it is a huge piece of software, and I didn't understand all the subtleties of what it can do, and how to integrate it correctly in an application. I'll take a look again. Can you describe your linux setup to see if I can replicate it here and maybe help ? |
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
With interfacing Mapbox GL directly, we could make a thin layer around https://github.com/mapbox/mapbox-gl-.../qmapboxgl.hpp which seems to me significantly easier. For start, you could read QtLocation Mapbox GL Plugin API. That should give background info. Then we can test with the demo app how it all works under Linux. Linux (and SFOS) setup actually takes not the master branch of mapbox-gl-native, but qt-staging. This is a branch followed by QtLocation plugin and it has a sane Qt build system (no need for node.js!). So, Linux setup that should work (I have a bit different, but its probably for historical reasons): clone https://github.com/rinigus/pkg-mapbox-gl-native (recursively) use included mapbox-gl-native-lib.pro to build the library by moving it into mapbox-gl-native folder, making dir build, and running qmake5 against mapbox-gl-native-lib.pro. That should let you build library with make If you wish, you could install library. Otherwise, use it from that build dir (its static lib, so all should be fine). clone https://github.com/rinigus/mapbox-gl-qml and open the project under app subfolder Correct the path for qmapboxgl include and library dir (or even better - make symlinks that would lead to the same paths as used in the project file). Register as a developer at mapbox.com for getting access token. Add access token either into environment, into main() as Code:
qputenv("MAPBOX_ACCESS_TOKEN", "HERE GOES THE TOKEN"); Compile and run it. Let me know if there is any trouble. I'll continue meanwhile adding QML methods. Should be all there soon, I hope. |
Re: App for vector renderer maps, using OpenGL ES 2.0
Quote:
I built it and ran it successfully on a Fedora workstation, with Qt5.7.1. Doing so, I found a typo on my Mapbox access token I used on previous tests, that may explain some errors I got then. I only had to make a few changes to let it build: Code:
diff --git a/app/mapbox-qml.pro b/app/mapbox-qml.pro The "sql" module in the QT line was needed to solve some linker error not finding some sqlite symbols (didn't write the exact message down). It looks like that is what I need in my project. So my next step would be to to see how I can add the route overlay on top of this map. So now, I get a lot things to read :). Thanks for the help. |
All times are GMT. The time now is 21:30. |
vBulletin® Version 3.8.8