diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2016-12-02 18:22:12 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-01-16 16:18:27 +0000 |
commit | 762dc9dd2b47f908c3739173aa1e108dd7386717 (patch) | |
tree | 201747076f1ee6deda535a6e58cafc4edaa37cbe /src/location/maps/qgeotiledmap_p_p.h | |
parent | 45b1f2c23cf0e782c0b99f38e4d01a88da765753 (diff) | |
download | qtlocation-762dc9dd2b47f908c3739173aa1e108dd7386717.tar.gz |
Move the coordinate <-> item position conversion to QGeoProjection
This patch simplifies the QGeoMap API removing all the API
necessary to convert to and from screen.
This is now demanded to a specific QGeoProjection class, that will
be independent of the map, except for using the same Geo projection
(currently only WebMercator, or EPSG:3857, although we use a sphere
instead of an ellipsoid, i believe)
The benefits are
- This relieves subclasses of QGeoMap from implementing a
GeoProjection API, especially since QtLocation currently supports
only WebMercator, and reimplementations would have to anyway
produce the same results as the inbuilt one.
- This avoids the several indirection steps previously necessary
to perform a map projection (qgeotiledmap -> private->mapscene->
private). Since these operation are quite frequent one per
map item coordinate at every redraw, shortening the indirection
chain is beneficial
- It simplifies the highly complex QGeoTiledMapScene, separating
all the logic that is not needed to draw the scene, but only
to perform geo coordinate <-> screen coordinate conversion
Change-Id: I9e3ca5280166f2d6430a32deb44c030d02d9d4e1
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/location/maps/qgeotiledmap_p_p.h')
-rw-r--r-- | src/location/maps/qgeotiledmap_p_p.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/src/location/maps/qgeotiledmap_p_p.h b/src/location/maps/qgeotiledmap_p_p.h index 72873d77..7106adf3 100644 --- a/src/location/maps/qgeotiledmap_p_p.h +++ b/src/location/maps/qgeotiledmap_p_p.h @@ -76,9 +76,6 @@ public: QSGNode *updateSceneGraph(QSGNode *node, QQuickWindow *window); - QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos) const; - QDoubleVector2D coordinateToItemPosition(const QGeoCoordinate &coordinate) const; - void updateTile(const QGeoTileSpec &spec); void prefetchTiles(); QGeoMapType activeMapType(); |