[Qt] Added set style layout properties method

This commit is contained in:
Thiago Marcos P. Santos
2016-07-07 16:10:29 +03:00
parent 46df5d58f9
commit e9259fc03e
2 changed files with 23 additions and 0 deletions

View File

@@ -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;

View File

@@ -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();