summaryrefslogtreecommitdiff
path: root/src/location/maps/qgeotiledmap.cpp
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2016-07-29 15:37:19 +0200
committerAlex Blasche <alexander.blasche@theqtcompany.com>2016-07-29 15:37:19 +0200
commit76e3fea9e77713860211c599b2a0aff3a72902c6 (patch)
tree0a24d1c3b987a6f4ebc2fbde6cb0d0a2daae7142 /src/location/maps/qgeotiledmap.cpp
parent1753409f92a6b865b71612465b887f808568ada2 (diff)
parent1a1d2e3fff5856dc9d1283b510a9f325c6fb8a93 (diff)
downloadqtlocation-76e3fea9e77713860211c599b2a0aff3a72902c6.tar.gz
Merge remote-tracking branch 'gerrit/5.7' into dev
Change-Id: I6a1a72547077c628429ee9a0781070ad3ae787f1
Diffstat (limited to 'src/location/maps/qgeotiledmap.cpp')
-rw-r--r--src/location/maps/qgeotiledmap.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/location/maps/qgeotiledmap.cpp b/src/location/maps/qgeotiledmap.cpp
index ac02afa8..f59417f7 100644
--- a/src/location/maps/qgeotiledmap.cpp
+++ b/src/location/maps/qgeotiledmap.cpp
@@ -194,6 +194,20 @@ double QGeoTiledMap::maximumCenterLatitudeAtZoom(double zoomLevel) const
return topMost.latitude();
}
+QDoubleVector2D QGeoTiledMap::referenceCoordinateToItemPosition(const QGeoCoordinate &coordinate) const
+{
+ Q_D(const QGeoTiledMap);
+ QDoubleVector2D point = QGeoProjection::coordToMercator(coordinate);
+ return point * std::pow(2.0, d->m_cameraData.zoomLevel()) * d->m_visibleTiles->tileSize();
+}
+
+QGeoCoordinate QGeoTiledMap::referenceItemPositionToCoordinate(const QDoubleVector2D &pos) const
+{
+ Q_D(const QGeoTiledMap);
+ QDoubleVector2D point = pos / (std::pow(2.0, d->m_cameraData.zoomLevel()) * d->m_visibleTiles->tileSize());
+ return QGeoProjection::mercatorToCoord(point);
+}
+
QGeoTiledMapPrivate::QGeoTiledMapPrivate(QGeoTiledMappingManagerEngine *engine)
: QGeoMapPrivate(engine),
m_cache(engine->tileCache()),