diff options
author | Thiago Marcos P. Santos <thiago@mapbox.com> | 2016-07-07 16:10:29 +0300 |
---|---|---|
committer | Thiago Marcos P. Santos <thiago@mapbox.com> | 2016-07-11 17:01:32 +0300 |
commit | e9259fc03e998e892c92e965d264bca974174fea (patch) | |
tree | f90470b8a80e1c8f219045a0f3ba4e0b1bec77c7 /platform | |
parent | 46df5d58f9f84bd66d643827eb8aa2ee1871a8db (diff) | |
download | qtlocation-mapboxgl-e9259fc03e998e892c92e965d264bca974174fea.tar.gz |
[Qt] Added set style layout properties method
Diffstat (limited to 'platform')
-rw-r--r-- | platform/qt/include/qmapboxgl.hpp | 2 | ||||
-rw-r--r-- | platform/qt/src/qmapboxgl.cpp | 21 |
2 files changed, 23 insertions, 0 deletions
diff --git a/platform/qt/include/qmapboxgl.hpp b/platform/qt/include/qmapboxgl.hpp index 309aef1c77..121f1debb4 100644 --- a/platform/qt/include/qmapboxgl.hpp +++ b/platform/qt/include/qmapboxgl.hpp @@ -174,6 +174,8 @@ public: void removeAnnotation(QMapbox::AnnotationID); + void setLayoutProperty(const QString &layer, const QString &property, const QVariant &value); + bool isRotating() const; bool isScaling() const; bool isPanning() const; diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp index 204aa0571e..1bf213554d 100644 --- a/platform/qt/src/qmapboxgl.cpp +++ b/platform/qt/src/qmapboxgl.cpp @@ -6,6 +6,8 @@ #include <mbgl/gl/gl.hpp> #include <mbgl/map/camera.hpp> #include <mbgl/map/map.hpp> +#include <mbgl/style/conversion.hpp> +#include <mbgl/style/conversion/layer.hpp> #include <mbgl/style/layers/custom_layer.hpp> #include <mbgl/style/transition_options.hpp> #include <mbgl/sprite/sprite_image.hpp> @@ -22,6 +24,7 @@ #include <QCoreApplication> #endif +#include <QDebug> #include <QImage> #include <QMapboxGL> #include <QMargins> @@ -448,6 +451,24 @@ void QMapboxGL::removeAnnotation(AnnotationID annotationID) d_ptr->mapObj->removeAnnotation(annotationID); } +void QMapboxGL::setLayoutProperty(const QString& layer_, const QString& property, const QVariant& value) +{ + using namespace mbgl::style; + + Layer* layer = d_ptr->mapObj->getLayer(layer_.toStdString()); + if (!layer) { + qWarning() << "Layer not found:" << layer_; + return; + } + + if (conversion::setLayoutProperty(*layer, property.toStdString(), value)) { + qWarning() << "Error setting layout property:" << layer_ << "-" << property; + return; + } + + d_ptr->mapObj->update(mbgl::Update::RecalculateStyle); +} + bool QMapboxGL::isRotating() const { return d_ptr->mapObj->isRotating(); |