Provides Qt example applications and APIs via QMapboxGL
and QQuickMapboxGL
:
QMapboxGL - implements a C++03x-conformant API that has been tested from Qt 4.7 onwards (Travis CI currently builds it using both Qt 4 and Qt 5).
QQuickMapboxGL - implements a Qt Quick (QML) item that can be added to a
scene. Because QQuickFramebufferObject
has been added in Qt version 5.2, we
support this API from this version onwards.
Qt supports many platforms - so far we have been testing our code on Linux and macOS desktops, as well as embedded devices such as Raspberry Pi 3.
If you need to maintain backwards compatibility with prior releases of
Qt, chose QMapboxGL
. Otherwise, go for QQuickMapboxGL
.
Both QMapboxGL
and QQuickMapboxGL
requires a Mapbox access
token at runtime - you need
to provide it by setting the environment variable MAPBOX_ACCESS_TOKEN
:
export MAPBOX_ACCESS_TOKEN=MYTOKEN
QMapboxGL
is a QObject - MapWindow provides an example QGLWidget that contains a QMapboxGL
object. If you use QMapboxGL
in non-standard Qt widgets, make sure to initialize the GL extensions required by Mapbox whenever possible:
QMapbox::initializeGLExtensions();
For Linux (Ubuntu) desktop, together with these build instructions, you also need:
sudo apt-get install qt5-default qtlocation5-dev qtpositioning5-dev \
qml-module-qtquick2 qml-module-qtpositioning qml-module-qtgraphicaleffects \
qml-module-qtquick-layouts qml-module-qtquick-controls
For macOS desktop, you can install Qt 5 via Homebrew:
brew install qt5
We provide the following build targets for our Qt SDK:
make qt-lib
to build the qmapboxgl
shared library. Public API headers
can be found in platform/qt/include folder.
make qt-app
or make run-qt-app
to run the application at the end of
build.
make qt-qml-app
or make run-qt-qml-app
to run the application at the
end of build.