summaryrefslogtreecommitdiff
path: root/src/location/maps
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-26 10:02:03 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-26 10:18:14 +0100
commit518633da419d6cfaf603773b9e8c5840e783bc4a (patch)
tree326ffd3f5497be64e38fa420af016867ada00538 /src/location/maps
parent9283a290040fd55f7eb34580b99f771d4facdeb4 (diff)
parent68b5ee9e7064f66fd7e7bd69b4b51229dbe8cc3c (diff)
downloadqtlocation-518633da419d6cfaf603773b9e8c5840e783bc4a.tar.gz
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts: tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp tests/plugins/declarativetestplugin/testhelper.h Change-Id: Ie218ab1dc68642a6922e05e5688c20b90440b72e
Diffstat (limited to 'src/location/maps')
-rw-r--r--src/location/maps/qgeomap.cpp19
-rw-r--r--src/location/maps/qgeomap_p.h2
-rw-r--r--src/location/maps/qgeomap_p_p.h4
-rw-r--r--src/location/maps/qgeorouteparserosrmv5.cpp2
-rw-r--r--src/location/maps/qgeotiledmap.cpp16
-rw-r--r--src/location/maps/qgeotiledmap_p.h2
6 files changed, 42 insertions, 3 deletions
diff --git a/src/location/maps/qgeomap.cpp b/src/location/maps/qgeomap.cpp
index 0c6ce0a7..46a88003 100644
--- a/src/location/maps/qgeomap.cpp
+++ b/src/location/maps/qgeomap.cpp
@@ -230,6 +230,15 @@ QString QGeoMap::copyrightsStyleSheet() const
return QStringLiteral("#copyright-root { background: rgba(255, 255, 255, 128) }");
}
+void QGeoMap::setCopyrightVisible(bool visible)
+{
+ Q_D(QGeoMap);
+ if (d->m_copyrightVisible == visible)
+ return;
+
+ d->m_copyrightVisible = visible;
+}
+
QGeoMapPrivate::QGeoMapPrivate(QGeoMappingManagerEngine *engine, QGeoProjection *geoProjection)
: QObjectPrivate(),
m_geoProjection(geoProjection),
@@ -287,4 +296,14 @@ void QGeoMapPrivate::removeMapItem(QDeclarativeGeoMapItemBase *item)
Q_UNUSED(item)
}
+void QGeoMapPrivate::setCopyrightVisible(bool visible)
+{
+ m_copyrightVisible = visible;
+}
+
+bool QGeoMapPrivate::copyrightVisible() const
+{
+ return m_copyrightVisible;
+}
+
QT_END_NAMESPACE
diff --git a/src/location/maps/qgeomap_p.h b/src/location/maps/qgeomap_p.h
index bb7ade55..f465be1d 100644
--- a/src/location/maps/qgeomap_p.h
+++ b/src/location/maps/qgeomap_p.h
@@ -124,6 +124,8 @@ public:
virtual QString copyrightsStyleSheet() const;
+ virtual void setCopyrightVisible(bool visible);
+
protected:
QGeoMap(QGeoMapPrivate &dd, QObject *parent = 0);
void setCameraData(const QGeoCameraData &cameraData);
diff --git a/src/location/maps/qgeomap_p_p.h b/src/location/maps/qgeomap_p_p.h
index ec498484..2c366610 100644
--- a/src/location/maps/qgeomap_p_p.h
+++ b/src/location/maps/qgeomap_p_p.h
@@ -90,6 +90,9 @@ protected:
virtual void changeCameraData(const QGeoCameraData &oldCameraData) = 0; // called by QGeoMap::setCameraData()
virtual void changeActiveMapType(const QGeoMapType mapType) = 0; // called by QGeoMap::setActiveMapType()
+ virtual void setCopyrightVisible(bool visible);
+ virtual bool copyrightVisible() const;
+
protected:
QSize m_viewportSize;
QGeoProjection *m_geoProjection;
@@ -99,6 +102,7 @@ protected:
QList<QGeoMapParameter *> m_mapParameters;
QList<QDeclarativeGeoMapItemBase *> m_mapItems;
QGeoCameraCapabilities m_cameraCapabilities;
+ bool m_copyrightVisible = true;
};
QT_END_NAMESPACE
diff --git a/src/location/maps/qgeorouteparserosrmv5.cpp b/src/location/maps/qgeorouteparserosrmv5.cpp
index 75daefda..6c1f7c83 100644
--- a/src/location/maps/qgeorouteparserosrmv5.cpp
+++ b/src/location/maps/qgeorouteparserosrmv5.cpp
@@ -953,7 +953,7 @@ QUrl QGeoRouteParserOsrmV5Private::requestUrl(const QGeoRouteRequest &request, c
foreach (const QGeoCoordinate &c, request.waypoints()) {
if (notFirst)
routingUrl.append(QLatin1Char(';'));
- routingUrl.append(QString::number(c.longitude())).append(QLatin1Char(',')).append(QString::number(c.latitude()));
+ routingUrl.append(QString::number(c.longitude(), 'f', 7)).append(QLatin1Char(',')).append(QString::number(c.latitude(), 'f', 7));
++notFirst;
}
diff --git a/src/location/maps/qgeotiledmap.cpp b/src/location/maps/qgeotiledmap.cpp
index 0eeb189d..815a8b99 100644
--- a/src/location/maps/qgeotiledmap.cpp
+++ b/src/location/maps/qgeotiledmap.cpp
@@ -143,6 +143,17 @@ void QGeoTiledMap::clearData()
d->m_mapScene->clearTexturedTiles();
}
+void QGeoTiledMap::setCopyrightVisible(bool visible)
+{
+ Q_D(QGeoTiledMap);
+ if (visible == d->m_copyrightVisible)
+ return;
+
+ QGeoMap::setCopyrightVisible(visible);
+ if (visible)
+ evaluateCopyrights(d->m_mapScene->visibleTiles());
+}
+
void QGeoTiledMap::clearScene(int mapId)
{
Q_D(QGeoTiledMap);
@@ -319,7 +330,7 @@ void QGeoTiledMapPrivate::updateScene()
bool newTilesIntroduced = !m_mapScene->visibleTiles().contains(tiles);
m_mapScene->setVisibleTiles(tiles);
- if (newTilesIntroduced)
+ if (newTilesIntroduced && m_copyrightVisible)
q->evaluateCopyrights(tiles);
// don't request tiles that are already built and textured
@@ -381,7 +392,8 @@ void QGeoTiledMapPrivate::changeViewportSize(const QSize& size)
m_cache->setMinTextureUsage(newSize);
}
- q->evaluateCopyrights(m_visibleTiles->createTiles());
+ if (m_copyrightVisible)
+ q->evaluateCopyrights(m_mapScene->visibleTiles());
updateScene();
}
diff --git a/src/location/maps/qgeotiledmap_p.h b/src/location/maps/qgeotiledmap_p.h
index b709cb57..89dd1285 100644
--- a/src/location/maps/qgeotiledmap_p.h
+++ b/src/location/maps/qgeotiledmap_p.h
@@ -87,6 +87,8 @@ public:
void prefetchData() Q_DECL_OVERRIDE;
void clearData() Q_DECL_OVERRIDE;
+ void setCopyrightVisible(bool visible) override;
+
public Q_SLOTS:
virtual void clearScene(int mapId);