diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2017-05-11 20:28:01 +0300 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2017-05-25 12:56:29 +0000 |
commit | 2244429e7577baee4de062756d0708b076c1541f (patch) | |
tree | be7bb8202b020a03ad6ddf02fd5da34c4ac28a9a /src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp | |
parent | cc635fed31046c2fac37a1a2c90885efbfed819a (diff) | |
download | qtlocation-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.cpp | 12 |
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); } |