summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-11-12 03:05:54 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-11-12 03:05:54 +0100
commitfe04f2bc8deabcd8fdf5b8c408b23bc3ce071e6d (patch)
tree5efbefa5d0ffee681cac8d86a93f26fb20d3827c
parent741d90b31650d71d7ea7a7cc9e83b1ab36e060c5 (diff)
parent664a83674b2bf8313763870c9eca7c4c558a14bc (diff)
downloadqtlocation-fe04f2bc8deabcd8fdf5b8c408b23bc3ce071e6d.tar.gz
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Ifa572a6e1c0835e0ca6d5bf85cde1db854604cf6
m---------src/3rdparty/mapbox-gl-native0
-rw-r--r--src/imports/location/plugins.qmltypes329
-rw-r--r--src/imports/locationlabs/plugins.qmltypes11
-rw-r--r--src/imports/positioning/plugins.qmltypes40
-rw-r--r--src/location/declarativemaps/qdeclarativegeomap.cpp21
-rw-r--r--src/location/doc/src/plugins/mapboxgl.qdoc2
-rw-r--r--src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp6
7 files changed, 377 insertions, 32 deletions
diff --git a/src/3rdparty/mapbox-gl-native b/src/3rdparty/mapbox-gl-native
-Subproject 5233c75b3f6c73623c5473b2d6573f31f3ddb4b
+Subproject d9577fdebe019b19e184b4cac82749ae9ec87af
diff --git a/src/imports/location/plugins.qmltypes b/src/imports/location/plugins.qmltypes
index 64f19ec1..27d8cbed 100644
--- a/src/imports/location/plugins.qmltypes
+++ b/src/imports/location/plugins.qmltypes
@@ -4,11 +4,285 @@ import QtQuick.tooling 1.2
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable QtLocation 5.13'
+// 'qmlplugindump -nonrelocatable QtLocation 5.14'
Module {
dependencies: ["QtQuick 2.0"]
Component {
+ name: "QAbstractItemModel"
+ prototype: "QObject"
+ Enum {
+ name: "LayoutChangeHint"
+ values: {
+ "NoLayoutChangeHint": 0,
+ "VerticalSortHint": 1,
+ "HorizontalSortHint": 2
+ }
+ }
+ Enum {
+ name: "CheckIndexOption"
+ values: {
+ "NoOption": 0,
+ "IndexIsValid": 1,
+ "DoNotUseParent": 2,
+ "ParentIsInvalid": 4
+ }
+ }
+ Signal {
+ name: "dataChanged"
+ Parameter { name: "topLeft"; type: "QModelIndex" }
+ Parameter { name: "bottomRight"; type: "QModelIndex" }
+ Parameter { name: "roles"; type: "QVector<int>" }
+ }
+ Signal {
+ name: "dataChanged"
+ Parameter { name: "topLeft"; type: "QModelIndex" }
+ Parameter { name: "bottomRight"; type: "QModelIndex" }
+ }
+ Signal {
+ name: "headerDataChanged"
+ Parameter { name: "orientation"; type: "Qt::Orientation" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "layoutChanged"
+ Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
+ Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
+ }
+ Signal {
+ name: "layoutChanged"
+ Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
+ }
+ Signal { name: "layoutChanged" }
+ Signal {
+ name: "layoutAboutToBeChanged"
+ Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
+ Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" }
+ }
+ Signal {
+ name: "layoutAboutToBeChanged"
+ Parameter { name: "parents"; type: "QList<QPersistentModelIndex>" }
+ }
+ Signal { name: "layoutAboutToBeChanged" }
+ Signal {
+ name: "rowsAboutToBeInserted"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "rowsInserted"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "rowsAboutToBeRemoved"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "rowsRemoved"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "columnsAboutToBeInserted"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "columnsInserted"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "columnsAboutToBeRemoved"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal {
+ name: "columnsRemoved"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "first"; type: "int" }
+ Parameter { name: "last"; type: "int" }
+ }
+ Signal { name: "modelAboutToBeReset" }
+ Signal { name: "modelReset" }
+ Signal {
+ name: "rowsAboutToBeMoved"
+ Parameter { name: "sourceParent"; type: "QModelIndex" }
+ Parameter { name: "sourceStart"; type: "int" }
+ Parameter { name: "sourceEnd"; type: "int" }
+ Parameter { name: "destinationParent"; type: "QModelIndex" }
+ Parameter { name: "destinationRow"; type: "int" }
+ }
+ Signal {
+ name: "rowsMoved"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "start"; type: "int" }
+ Parameter { name: "end"; type: "int" }
+ Parameter { name: "destination"; type: "QModelIndex" }
+ Parameter { name: "row"; type: "int" }
+ }
+ Signal {
+ name: "columnsAboutToBeMoved"
+ Parameter { name: "sourceParent"; type: "QModelIndex" }
+ Parameter { name: "sourceStart"; type: "int" }
+ Parameter { name: "sourceEnd"; type: "int" }
+ Parameter { name: "destinationParent"; type: "QModelIndex" }
+ Parameter { name: "destinationColumn"; type: "int" }
+ }
+ Signal {
+ name: "columnsMoved"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ Parameter { name: "start"; type: "int" }
+ Parameter { name: "end"; type: "int" }
+ Parameter { name: "destination"; type: "QModelIndex" }
+ Parameter { name: "column"; type: "int" }
+ }
+ Method { name: "submit"; type: "bool" }
+ Method { name: "revert" }
+ Method {
+ name: "hasIndex"
+ type: "bool"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "column"; type: "int" }
+ Parameter { name: "parent"; type: "QModelIndex" }
+ }
+ Method {
+ name: "hasIndex"
+ type: "bool"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "column"; type: "int" }
+ }
+ Method {
+ name: "index"
+ type: "QModelIndex"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "column"; type: "int" }
+ Parameter { name: "parent"; type: "QModelIndex" }
+ }
+ Method {
+ name: "index"
+ type: "QModelIndex"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "column"; type: "int" }
+ }
+ Method {
+ name: "parent"
+ type: "QModelIndex"
+ Parameter { name: "child"; type: "QModelIndex" }
+ }
+ Method {
+ name: "sibling"
+ type: "QModelIndex"
+ Parameter { name: "row"; type: "int" }
+ Parameter { name: "column"; type: "int" }
+ Parameter { name: "idx"; type: "QModelIndex" }
+ }
+ Method {
+ name: "rowCount"
+ type: "int"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ }
+ Method { name: "rowCount"; type: "int" }
+ Method {
+ name: "columnCount"
+ type: "int"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ }
+ Method { name: "columnCount"; type: "int" }
+ Method {
+ name: "hasChildren"
+ type: "bool"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ }
+ Method { name: "hasChildren"; type: "bool" }
+ Method {
+ name: "data"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QModelIndex" }
+ Parameter { name: "role"; type: "int" }
+ }
+ Method {
+ name: "data"
+ type: "QVariant"
+ Parameter { name: "index"; type: "QModelIndex" }
+ }
+ Method {
+ name: "setData"
+ type: "bool"
+ Parameter { name: "index"; type: "QModelIndex" }
+ Parameter { name: "value"; type: "QVariant" }
+ Parameter { name: "role"; type: "int" }
+ }
+ Method {
+ name: "setData"
+ type: "bool"
+ Parameter { name: "index"; type: "QModelIndex" }
+ Parameter { name: "value"; type: "QVariant" }
+ }
+ Method {
+ name: "headerData"
+ type: "QVariant"
+ Parameter { name: "section"; type: "int" }
+ Parameter { name: "orientation"; type: "Qt::Orientation" }
+ Parameter { name: "role"; type: "int" }
+ }
+ Method {
+ name: "headerData"
+ type: "QVariant"
+ Parameter { name: "section"; type: "int" }
+ Parameter { name: "orientation"; type: "Qt::Orientation" }
+ }
+ Method {
+ name: "fetchMore"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ }
+ Method {
+ name: "canFetchMore"
+ type: "bool"
+ Parameter { name: "parent"; type: "QModelIndex" }
+ }
+ Method {
+ name: "flags"
+ type: "Qt::ItemFlags"
+ Parameter { name: "index"; type: "QModelIndex" }
+ }
+ Method {
+ name: "match"
+ type: "QModelIndexList"
+ Parameter { name: "start"; type: "QModelIndex" }
+ Parameter { name: "role"; type: "int" }
+ Parameter { name: "value"; type: "QVariant" }
+ Parameter { name: "hits"; type: "int" }
+ Parameter { name: "flags"; type: "Qt::MatchFlags" }
+ }
+ Method {
+ name: "match"
+ type: "QModelIndexList"
+ Parameter { name: "start"; type: "QModelIndex" }
+ Parameter { name: "role"; type: "int" }
+ Parameter { name: "value"; type: "QVariant" }
+ Parameter { name: "hits"; type: "int" }
+ }
+ Method {
+ name: "match"
+ type: "QModelIndexList"
+ Parameter { name: "start"; type: "QModelIndex" }
+ Parameter { name: "role"; type: "int" }
+ Parameter { name: "value"; type: "QVariant" }
+ }
+ }
+ Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" }
+ Component {
name: "QDeclarativeCategory"
prototype: "QObject"
exports: ["QtLocation/Category 5.0"]
@@ -153,9 +427,10 @@ Module {
"QtLocation/Map 5.0",
"QtLocation/Map 5.11",
"QtLocation/Map 5.12",
- "QtLocation/Map 5.13"
+ "QtLocation/Map 5.13",
+ "QtLocation/Map 5.14"
]
- exportMetaObjectRevisions: [0, 11, 12, 13]
+ exportMetaObjectRevisions: [0, 11, 12, 13, 14]
Property { name: "gesture"; type: "QQuickGeoMapGestureArea"; isReadonly: true; isPointer: true }
Property { name: "plugin"; type: "QDeclarativeGeoServiceProvider"; isPointer: true }
Property { name: "minimumZoomLevel"; type: "double" }
@@ -250,6 +525,7 @@ Module {
Parameter { name: "ready"; type: "bool" }
}
Signal { name: "mapObjectsChanged"; revision: 11 }
+ Signal { name: "visibleRegionChanged"; revision: 14 }
Method {
name: "setBearing"
Parameter { name: "bearing"; type: "double" }
@@ -372,11 +648,13 @@ Module {
prototype: "QQuickItem"
exports: [
"QtLocation/GeoMapItemBase 5.0",
- "QtLocation/GeoMapItemBase 5.11"
+ "QtLocation/GeoMapItemBase 5.11",
+ "QtLocation/GeoMapItemBase 5.14"
]
isCreatable: false
- exportMetaObjectRevisions: [0, 11]
+ exportMetaObjectRevisions: [0, 11, 14]
Property { name: "geoShape"; type: "QGeoShape" }
+ Property { name: "autoFadeIn"; revision: 14; type: "bool" }
Signal { name: "mapItemOpacityChanged" }
Signal { name: "addTransitionFinished"; revision: 12 }
Signal { name: "removeTransitionFinished"; revision: 12 }
@@ -833,7 +1111,7 @@ Module {
Property { name: "availableServiceProviders"; type: "QStringList"; isReadonly: true }
Property {
name: "parameters"
- type: "QDeclarativeGeoServiceProviderParameter"
+ type: "QDeclarativePluginParameter"
isList: true
isReadonly: true
}
@@ -892,23 +1170,6 @@ Module {
Method { name: "supportsNavigation"; revision: 11; type: "bool" }
}
Component {
- name: "QDeclarativeGeoServiceProviderParameter"
- prototype: "QObject"
- exports: ["QtLocation/PluginParameter 5.0"]
- exportMetaObjectRevisions: [0]
- Property { name: "name"; type: "string" }
- Property { name: "value"; type: "QVariant" }
- Signal {
- name: "nameChanged"
- Parameter { name: "name"; type: "string" }
- }
- Signal {
- name: "valueChanged"
- Parameter { name: "value"; type: "QVariant" }
- }
- Signal { name: "initialized" }
- }
- Component {
name: "QDeclarativeGeoServiceProviderRequirements"
prototype: "QObject"
exports: ["QtLocation/PluginRequirements 5.0"]
@@ -918,6 +1179,7 @@ Module {
Property { name: "routing"; type: "QDeclarativeGeoServiceProvider::RoutingFeatures" }
Property { name: "geocoding"; type: "QDeclarativeGeoServiceProvider::GeocodingFeatures" }
Property { name: "places"; type: "QDeclarativeGeoServiceProvider::PlacesFeatures" }
+ Property { name: "navigation"; type: "QDeclarativeGeoServiceProvider::NavigationFeatures" }
Signal {
name: "mappingRequirementsChanged"
Parameter { name: "features"; type: "QDeclarativeGeoServiceProvider::MappingFeatures" }
@@ -934,6 +1196,10 @@ Module {
name: "placesRequirementsChanged"
Parameter { name: "features"; type: "QDeclarativeGeoServiceProvider::PlacesFeatures" }
}
+ Signal {
+ name: "navigationRequirementsChanged"
+ Parameter { name: "features"; type: "QDeclarativeGeoServiceProvider::NavigationFeatures" }
+ }
Signal { name: "requirementsChanged" }
Method {
name: "matches"
@@ -1148,6 +1414,23 @@ Module {
Property { name: "name"; type: "string" }
}
Component {
+ name: "QDeclarativePluginParameter"
+ prototype: "QObject"
+ exports: ["QtLocation/PluginParameter 5.0"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "name"; type: "string" }
+ Property { name: "value"; type: "QVariant" }
+ Signal {
+ name: "nameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "valueChanged"
+ Parameter { name: "value"; type: "QVariant" }
+ }
+ Signal { name: "initialized" }
+ }
+ Component {
name: "QDeclarativePolygonMapItem"
defaultProperty: "data"
prototype: "QDeclarativeGeoMapItemBase"
diff --git a/src/imports/locationlabs/plugins.qmltypes b/src/imports/locationlabs/plugins.qmltypes
index 24abe0a2..d69039b1 100644
--- a/src/imports/locationlabs/plugins.qmltypes
+++ b/src/imports/locationlabs/plugins.qmltypes
@@ -39,6 +39,8 @@ Module {
Signal { name: "currentSegmentChanged" }
Signal { name: "nextManeuverIconChanged" }
Signal { name: "progressInformationChanged" }
+ Signal { name: "isOnRouteChanged" }
+ Signal { name: "alternativeRoutesChanged" }
Method { name: "start"; type: "bool" }
Method { name: "stop"; type: "bool" }
Method {
@@ -66,6 +68,12 @@ Module {
isPointer: true
}
Property { name: "currentSegment"; type: "int"; isReadonly: true }
+ Property {
+ name: "alternativeRoutes"
+ type: "QAbstractItemModel"
+ isReadonly: true
+ isPointer: true
+ }
Signal { name: "progressInformationChanged" }
Signal {
name: "waypointReached"
@@ -86,6 +94,8 @@ Module {
Property { name: "active"; type: "bool" }
Property { name: "navigatorReady"; type: "bool"; isReadonly: true }
Property { name: "trackPositionSource"; type: "bool" }
+ Property { name: "automaticReroutingEnabled"; type: "bool" }
+ Property { name: "isOnRoute"; type: "bool"; isReadonly: true }
Property {
name: "directions"
type: "QDeclarativeNavigationBasicDirections"
@@ -107,6 +117,7 @@ Module {
name: "activeChanged"
Parameter { name: "active"; type: "bool" }
}
+ Method { name: "recalculateRoutes" }
}
Component {
name: "QGeoMapObject"
diff --git a/src/imports/positioning/plugins.qmltypes b/src/imports/positioning/plugins.qmltypes
index c5c37db5..e951961c 100644
--- a/src/imports/positioning/plugins.qmltypes
+++ b/src/imports/positioning/plugins.qmltypes
@@ -4,7 +4,7 @@ import QtQuick.tooling 1.2
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable QtPositioning 5.13'
+// 'qmlplugindump -nonrelocatable QtPositioning 5.14'
Module {
dependencies: ["QtQuick 2.0"]
@@ -147,6 +147,23 @@ Module {
Property { name: "extendedAttributes"; revision: 13; type: "QVariantMap" }
}
Component {
+ name: "QDeclarativePluginParameter"
+ prototype: "QObject"
+ exports: ["QtPositioning/PluginParameter 5.14"]
+ exportMetaObjectRevisions: [0]
+ Property { name: "name"; type: "string" }
+ Property { name: "value"; type: "QVariant" }
+ Signal {
+ name: "nameChanged"
+ Parameter { name: "name"; type: "string" }
+ }
+ Signal {
+ name: "valueChanged"
+ Parameter { name: "value"; type: "QVariant" }
+ }
+ Signal { name: "initialized" }
+ }
+ Component {
name: "QDeclarativePosition"
prototype: "QObject"
exports: [
@@ -181,6 +198,7 @@ Module {
}
Component {
name: "QDeclarativePositionSource"
+ defaultProperty: "parameters"
prototype: "QObject"
exports: ["QtPositioning/PositionSource 5.0"]
exportMetaObjectRevisions: [0]
@@ -221,11 +239,31 @@ Module {
Property { name: "preferredPositioningMethods"; type: "PositioningMethods" }
Property { name: "sourceError"; type: "SourceError"; isReadonly: true }
Property { name: "name"; type: "string" }
+ Property {
+ name: "parameters"
+ revision: 14
+ type: "QDeclarativePluginParameter"
+ isList: true
+ isReadonly: true
+ }
Signal { name: "validityChanged" }
Signal { name: "updateTimeout" }
Method { name: "update" }
Method { name: "start" }
Method { name: "stop" }
+ Method {
+ name: "setBackendProperty"
+ revision: 14
+ type: "bool"
+ Parameter { name: "name"; type: "string" }
+ Parameter { name: "value"; type: "QVariant" }
+ }
+ Method {
+ name: "backendProperty"
+ revision: 14
+ type: "QVariant"
+ Parameter { name: "name"; type: "string" }
+ }
}
Component {
name: "QGeoShape"
diff --git a/src/location/declarativemaps/qdeclarativegeomap.cpp b/src/location/declarativemaps/qdeclarativegeomap.cpp
index c3a87495..6a2d82e8 100644
--- a/src/location/declarativemaps/qdeclarativegeomap.cpp
+++ b/src/location/declarativemaps/qdeclarativegeomap.cpp
@@ -374,7 +374,10 @@ void QDeclarativeGeoMap::initialize()
connect(m_map.data(), &QGeoMap::cameraDataChanged,
this, &QDeclarativeGeoMap::onCameraDataChanged);
- m_map->setCameraData(cameraData);
+ m_map->setCameraData(cameraData); // This normally triggers property changed signals.
+ // BUT not in this case, since m_cameraData is already == cameraData.
+ // So, emit visibleRegionChanged() separately, as
+ // the effective visible region becomes available only now.
for (auto obj : qAsConst(m_pendingMapObjects))
obj->setMap(m_map);
@@ -386,6 +389,7 @@ void QDeclarativeGeoMap::initialize()
connect(m_map.data(), &QGeoMap::visibleAreaChanged, this, &QDeclarativeGeoMap::visibleAreaChanged);
emit mapReadyChanged(true);
+ emit visibleRegionChanged();
if (m_copyrights) // To not update during initialize()
update();
@@ -894,7 +898,8 @@ void QDeclarativeGeoMap::setZoomLevel(qreal zoomLevel, bool overzoom)
m_cameraData.setZoomLevel(zoomLevel);
if (zlHasChanged) {
emit zoomLevelChanged(zoomLevel);
- emit visibleRegionChanged();
+ // do not emit visibleRegionChanged() here, because, if the map isn't initialized,
+ // the getter won't return anything updated
}
}
}
@@ -980,7 +985,8 @@ void QDeclarativeGeoMap::setBearing(qreal bearing)
m_cameraData.setBearing(bearing);
if (bearingHasChanged) {
emit bearingChanged(bearing);
- emit visibleRegionChanged();
+ // do not emit visibleRegionChanged() here, because, if the map isn't initialized,
+ // the getter won't return anything updated
}
}
}
@@ -1047,7 +1053,8 @@ void QDeclarativeGeoMap::setTilt(qreal tilt)
m_cameraData.setTilt(tilt);
if (tiltHasChanged) {
emit tiltChanged(tilt);
- emit visibleRegionChanged();
+ // do not emit visibleRegionChanged() here, because, if the map isn't initialized,
+ // the getter won't return anything updated
}
}
}
@@ -1107,7 +1114,8 @@ void QDeclarativeGeoMap::setFieldOfView(qreal fieldOfView)
m_cameraData.setFieldOfView(fieldOfView);
if (fovChanged) {
emit fieldOfViewChanged(fieldOfView);
- emit visibleRegionChanged();
+ // do not emit visibleRegionChanged() here, because, if the map isn't initialized,
+ // the getter won't return anything updated
}
}
}
@@ -1276,7 +1284,8 @@ void QDeclarativeGeoMap::setCenter(const QGeoCoordinate &center)
m_cameraData.setCenter(center);
if (centerHasChanged) {
emit centerChanged(center);
- emit visibleRegionChanged();
+ // do not emit visibleRegionChanged() here, because, if the map isn't initialized,
+ // the getter won't return anything updated
}
}
}
diff --git a/src/location/doc/src/plugins/mapboxgl.qdoc b/src/location/doc/src/plugins/mapboxgl.qdoc
index c5e02810..119868d1 100644
--- a/src/location/doc/src/plugins/mapboxgl.qdoc
+++ b/src/location/doc/src/plugins/mapboxgl.qdoc
@@ -181,7 +181,7 @@ replacing the dash with camel case for technical reasons (i.e. \b line-cap will
\li A style data \l {https://www.mapbox.com/mapbox-gl-js/style-spec/#sources}{source}. When using a source
of \b sourceType \l {https://www.mapbox.com/mapbox-gl-js/style-spec/#sources-geojson}{geojson}, the
\b data property can be both inlined or sourced from qrc. Supported source types are: \b vector, \b raster,
- \b raster-dem and \b geojson.
+ \b raster-dem, \b image and \b geojson.
'geojson'.
\row
\li layer
diff --git a/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp b/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
index b45fdef1..cb8dc2be 100644
--- a/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
+++ b/src/plugins/geoservices/mapboxgl/qmapboxglstylechange.cpp
@@ -552,7 +552,7 @@ QSharedPointer<QMapboxGLStyleChange> QMapboxGLStyleAddSource::fromMapParameter(Q
Q_ASSERT(param->type() == "source");
static const QStringList acceptedSourceTypes = QStringList()
- << QStringLiteral("vector") << QStringLiteral("raster") << QStringLiteral("raster-dem") << QStringLiteral("geojson");
+ << QStringLiteral("vector") << QStringLiteral("raster") << QStringLiteral("raster-dem") << QStringLiteral("geojson") << QStringLiteral("image");
QString sourceType = param->property("sourceType").toString();
@@ -579,6 +579,10 @@ QSharedPointer<QMapboxGLStyleChange> QMapboxGLStyleAddSource::fromMapParameter(Q
source->m_params[QStringLiteral("data")] = data.toUtf8();
}
} break;
+ case 4: { // image
+ source->m_params[QStringLiteral("url")] = param->property("url");
+ source->m_params[QStringLiteral("coordinates")] = param->property("coordinates");
+ } break;
}
return QSharedPointer<QMapboxGLStyleChange>(source);