summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <tmpsantos@gmail.com>2017-05-11 20:28:01 +0300
committerThiago Marcos P. Santos <tmpsantos@gmail.com>2017-05-25 12:56:29 +0000
commit2244429e7577baee4de062756d0708b076c1541f (patch)
treebe7bb8202b020a03ad6ddf02fd5da34c4ac28a9a /src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
parentcc635fed31046c2fac37a1a2c90885efbfed819a (diff)
downloadqtlocation-2244429e7577baee4de062756d0708b076c1541f.tar.gz
Make it possible to MapItems to rendered under some style layers
Add a MapParamter to specify the default "before" layer for MapItems that Mapbox GL can render. This can be used for inserting route lines before labels. Change-Id: I3ee414ee8af31f38b74c95b3ecc31df6085bed30 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Diffstat (limited to 'src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp')
-rw-r--r--src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp b/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
index eccc64b8..8229b784 100644
--- a/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
+++ b/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
@@ -175,7 +175,7 @@ QList<QSharedPointer<QMapboxGLStyleChange>> QMapboxGLStyleChange::addMapParamete
return changes;
}
-QList<QSharedPointer<QMapboxGLStyleChange>> QMapboxGLStyleChange::addMapItem(QDeclarativeGeoMapItemBase *item)
+QList<QSharedPointer<QMapboxGLStyleChange>> QMapboxGLStyleChange::addMapItem(QDeclarativeGeoMapItemBase *item, const QString &before)
{
QList<QSharedPointer<QMapboxGLStyleChange>> changes;
@@ -191,7 +191,7 @@ QList<QSharedPointer<QMapboxGLStyleChange>> QMapboxGLStyleChange::addMapItem(QDe
QMapbox::Feature feature = featureFromMapItem(item);
- changes << QMapboxGLStyleAddLayer::fromFeature(feature);
+ changes << QMapboxGLStyleAddLayer::fromFeature(feature, before);
changes << QMapboxGLStyleAddSource::fromFeature(feature);
changes << QMapboxGLStyleSetPaintProperty::fromMapItem(item);
changes << QMapboxGLStyleSetLayoutProperty::fromMapItem(item);
@@ -390,7 +390,7 @@ QList<QSharedPointer<QMapboxGLStyleChange>> QMapboxGLStyleSetPaintProperty::from
void QMapboxGLStyleAddLayer::apply(QMapboxGL *map)
{
- map->addLayer(m_params);
+ map->addLayer(m_params, m_before);
}
QSharedPointer<QMapboxGLStyleChange> QMapboxGLStyleAddLayer::fromMapParameter(QGeoMapParameter *param)
@@ -406,10 +406,12 @@ QSharedPointer<QMapboxGLStyleChange> QMapboxGLStyleAddLayer::fromMapParameter(QG
layer->m_params[QStringLiteral("source-layer")] = param->property("sourceLayer");
}
+ layer->m_before = param->property("before").toString();
+
return QSharedPointer<QMapboxGLStyleChange>(layer);
}
-QSharedPointer<QMapboxGLStyleChange> QMapboxGLStyleAddLayer::fromFeature(const QMapbox::Feature &feature)
+QSharedPointer<QMapboxGLStyleChange> QMapboxGLStyleAddLayer::fromFeature(const QMapbox::Feature &feature, const QString &before)
{
auto layer = new QMapboxGLStyleAddLayer();
layer->m_params[QStringLiteral("id")] = feature.id;
@@ -427,6 +429,8 @@ QSharedPointer<QMapboxGLStyleChange> QMapboxGLStyleAddLayer::fromFeature(const Q
break;
}
+ layer->m_before = before;
+
return QSharedPointer<QMapboxGLStyleChange>(layer);
}