diff options
author | Alex Blasche <alexander.blasche@theqtcompany.com> | 2016-07-29 15:37:19 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@theqtcompany.com> | 2016-07-29 15:37:19 +0200 |
commit | 76e3fea9e77713860211c599b2a0aff3a72902c6 (patch) | |
tree | 0a24d1c3b987a6f4ebc2fbde6cb0d0a2daae7142 /src/location/maps/qgeotiledmap.cpp | |
parent | 1753409f92a6b865b71612465b887f808568ada2 (diff) | |
parent | 1a1d2e3fff5856dc9d1283b510a9f325c6fb8a93 (diff) | |
download | qtlocation-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.cpp | 14 |
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()), |