diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-02-14 10:21:12 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-02-20 12:35:46 +0000 |
commit | 1e6a5349def9c6e3e929fc57949fc97e267af37d (patch) | |
tree | c0f695c5218a401bf2bf4c92b425512ca1bb8f6f /src | |
parent | 9d26876fda04981af8e0762eba85a4f1fbbe9402 (diff) | |
download | qtlocation-1e6a5349def9c6e3e929fc57949fc97e267af37d.tar.gz |
Fix regression: gesture area not honoring maximum center latitude
Introduced in 69a42c4a5c37a5a74c4b285c64328bc88ed8e059
Change-Id: I3cace297e0494bdb4da5e6d4d1a634877c66f916
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/location/maps/qgeomap.cpp | 10 | ||||
-rw-r--r-- | src/location/maps/qgeomap_p_p.h | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/location/maps/qgeomap.cpp b/src/location/maps/qgeomap.cpp index af40b33b..58657143 100644 --- a/src/location/maps/qgeomap.cpp +++ b/src/location/maps/qgeomap.cpp @@ -122,7 +122,9 @@ bool QGeoMap::setBearing(qreal bearing, const QGeoCoordinate &coordinate) bool QGeoMap::anchorCoordinateToPoint(const QGeoCoordinate &coordinate, const QPointF &anchorPoint) { + Q_D(QGeoMap); QGeoCoordinate newCenter = geoProjection().anchorCoordinateToPoint(coordinate, anchorPoint); + newCenter.setLatitude(qBound(-d->m_maximumViewportLatitude, newCenter.latitude(), d->m_maximumViewportLatitude)); QGeoCameraData data = cameraData(); if (data.center() != newCenter) { data.setCenter(newCenter); @@ -175,7 +177,7 @@ double QGeoMap::minimumZoom() const double QGeoMap::maximumCenterLatitudeAtZoom(const QGeoCameraData &cameraData) const { Q_D(const QGeoMap); - return d->m_geoProjection->maximumCenterLatitudeAtZoom(cameraData); + return d->maximumCenterLatitudeAtZoom(cameraData); } double QGeoMap::mapWidth() const @@ -414,4 +416,10 @@ bool QGeoMapPrivate::copyrightVisible() const return m_copyrightVisible; } +double QGeoMapPrivate::maximumCenterLatitudeAtZoom(const QGeoCameraData &cameraData) const +{ + m_maximumViewportLatitude = m_geoProjection->maximumCenterLatitudeAtZoom(cameraData); + return m_maximumViewportLatitude; +} + QT_END_NAMESPACE diff --git a/src/location/maps/qgeomap_p_p.h b/src/location/maps/qgeomap_p_p.h index ff7ca318..18c72202 100644 --- a/src/location/maps/qgeomap_p_p.h +++ b/src/location/maps/qgeomap_p_p.h @@ -102,6 +102,7 @@ protected: virtual void setCopyrightVisible(bool visible); virtual bool copyrightVisible() const; + virtual double maximumCenterLatitudeAtZoom(const QGeoCameraData &cameraData) const; protected: QSize m_viewportSize; @@ -113,6 +114,7 @@ protected: QList<QDeclarativeGeoMapItemBase *> m_mapItems; QGeoCameraCapabilities m_cameraCapabilities; bool m_copyrightVisible = true; + mutable double m_maximumViewportLatitude = 0; }; QT_END_NAMESPACE |