diff options
Diffstat (limited to 'src/positioning')
-rw-r--r-- | src/positioning/positioning.pro | 6 | ||||
-rw-r--r-- | src/positioning/qgeopath.cpp | 12 | ||||
-rw-r--r-- | src/positioning/qgeorectangle.cpp | 2 | ||||
-rw-r--r-- | src/positioning/qlocationutils_p.h | 4 | ||||
-rw-r--r-- | src/positioning/qwebmercator.cpp (renamed from src/positioning/qgeoprojection.cpp) | 16 | ||||
-rw-r--r-- | src/positioning/qwebmercator_p.h (renamed from src/positioning/qgeoprojection_p.h) | 15 |
6 files changed, 28 insertions, 27 deletions
diff --git a/src/positioning/positioning.pro b/src/positioning/positioning.pro index a311e5e1..b5c6ee46 100644 --- a/src/positioning/positioning.pro +++ b/src/positioning/positioning.pro @@ -49,7 +49,7 @@ PRIVATE_HEADERS += \ qdeclarativegeolocation_p.h \ qdoublevector2d_p.h \ qdoublevector3d_p.h \ - qgeoprojection_p.h \ + qwebmercator_p.h \ qpositioningglobal_p.h \ qlocationdata_simulator_p.h \ qgeopath_p.h @@ -74,9 +74,9 @@ SOURCES += \ qdeclarativegeolocation.cpp \ qdoublevector2d.cpp \ qdoublevector3d.cpp \ - qgeoprojection.cpp \ + qgeopath.cpp \ qlocationdata_simulator.cpp \ - qgeopath.cpp + qwebmercator.cpp HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS diff --git a/src/positioning/qgeopath.cpp b/src/positioning/qgeopath.cpp index 523a79fb..a8e77e10 100644 --- a/src/positioning/qgeopath.cpp +++ b/src/positioning/qgeopath.cpp @@ -43,7 +43,7 @@ #include "qgeocoordinate.h" #include "qnumeric.h" #include "qlocationutils_p.h" -#include "qgeoprojection_p.h" +#include "qwebmercator_p.h" #include "qdoublevector2d_p.h" #include "qdoublevector3d_p.h" @@ -438,21 +438,21 @@ bool QGeoPathPrivate::contains(const QGeoCoordinate &coordinate) const else if (m_path.size() == 1) return (m_path[0].distanceTo(coordinate) <= lineRadius); - double leftBoundMercator = QGeoProjection::coordToMercator(m_bbox.topLeft()).x(); + double leftBoundMercator = QWebMercator::coordToMercator(m_bbox.topLeft()).x(); - QDoubleVector2D p = QGeoProjection::coordToMercator(coordinate); + QDoubleVector2D p = QWebMercator::coordToMercator(coordinate); if (p.x() < leftBoundMercator) p.setX(p.x() + leftBoundMercator); // unwrap X QDoubleVector2D a; QDoubleVector2D b; if (m_path.size()) { - a = QGeoProjection::coordToMercator(m_path[0]); + a = QWebMercator::coordToMercator(m_path[0]); if (a.x() < leftBoundMercator) a.setX(a.x() + leftBoundMercator); // unwrap X } for (int i = 1; i < m_path.size(); i++) { - b = QGeoProjection::coordToMercator(m_path[i]); + b = QWebMercator::coordToMercator(m_path[i]); if (b.x() < leftBoundMercator) b.setX(b.x() + leftBoundMercator); // unwrap X if (b == a) @@ -471,7 +471,7 @@ bool QGeoPathPrivate::contains(const QGeoCoordinate &coordinate) const if (candidate.x() > 1.0) candidate.setX(candidate.x() - leftBoundMercator); // wrap X - QGeoCoordinate closest = QGeoProjection::mercatorToCoord(candidate); + QGeoCoordinate closest = QWebMercator::mercatorToCoord(candidate); double distanceMeters = coordinate.distanceTo(closest); if (distanceMeters <= lineRadius) diff --git a/src/positioning/qgeorectangle.cpp b/src/positioning/qgeorectangle.cpp index 1453a6a8..337b4c76 100644 --- a/src/positioning/qgeorectangle.cpp +++ b/src/positioning/qgeorectangle.cpp @@ -40,7 +40,7 @@ #include "qgeorectangle.h" #include "qgeorectangle_p.h" -#include "qgeoprojection_p.h" +#include "qwebmercator_p.h" #include "qdoublevector2d_p.h" #include "qgeocoordinate.h" #include "qnumeric.h" diff --git a/src/positioning/qlocationutils_p.h b/src/positioning/qlocationutils_p.h index 32addb63..552ec33f 100644 --- a/src/positioning/qlocationutils_p.h +++ b/src/positioning/qlocationutils_p.h @@ -53,6 +53,10 @@ #include <QtCore/QtGlobal> #include <math.h> +#ifndef M_PI +#define M_PI 3.14159265358979323846264338327950288 +#endif + #ifndef M_1_180 #define M_1_180 0.0055555555555555555555555555555555555555556 #endif diff --git a/src/positioning/qgeoprojection.cpp b/src/positioning/qwebmercator.cpp index 507f0805..d22258a7 100644 --- a/src/positioning/qgeoprojection.cpp +++ b/src/positioning/qwebmercator.cpp @@ -36,7 +36,7 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#include "qgeoprojection_p.h" +#include "qwebmercator_p.h" #include "qgeocoordinate.h" @@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE -QDoubleVector2D QGeoProjection::coordToMercator(const QGeoCoordinate &coord) +QDoubleVector2D QWebMercator::coordToMercator(const QGeoCoordinate &coord) { const double pi = M_PI; @@ -62,13 +62,13 @@ QDoubleVector2D QGeoProjection::coordToMercator(const QGeoCoordinate &coord) return QDoubleVector2D(lon, lat); } -double QGeoProjection::realmod(const double a, const double b) +double QWebMercator::realmod(const double a, const double b) { quint64 div = static_cast<quint64>(a / b); return a - static_cast<double>(div) * b; } -QGeoCoordinate QGeoProjection::mercatorToCoord(const QDoubleVector2D &mercator) +QGeoCoordinate QWebMercator::mercatorToCoord(const QDoubleVector2D &mercator) { const double pi = M_PI; @@ -101,10 +101,10 @@ QGeoCoordinate QGeoProjection::mercatorToCoord(const QDoubleVector2D &mercator) return QGeoCoordinate(lat, lng, 0.0); } -QGeoCoordinate QGeoProjection::coordinateInterpolation(const QGeoCoordinate &from, const QGeoCoordinate &to, qreal progress) +QGeoCoordinate QWebMercator::coordinateInterpolation(const QGeoCoordinate &from, const QGeoCoordinate &to, qreal progress) { - QDoubleVector2D s = QGeoProjection::coordToMercator(from); - QDoubleVector2D e = QGeoProjection::coordToMercator(to); + QDoubleVector2D s = QWebMercator::coordToMercator(from); + QDoubleVector2D e = QWebMercator::coordToMercator(to); double x = s.x(); @@ -128,7 +128,7 @@ QGeoCoordinate QGeoProjection::coordinateInterpolation(const QGeoCoordinate &fro double y = (1.0 - progress) * s.y() + progress * e.y(); - QGeoCoordinate result = QGeoProjection::mercatorToCoord(QDoubleVector2D(x, y)); + QGeoCoordinate result = QWebMercator::mercatorToCoord(QDoubleVector2D(x, y)); result.setAltitude((1.0 - progress) * from.altitude() + progress * to.altitude()); return result; diff --git a/src/positioning/qgeoprojection_p.h b/src/positioning/qwebmercator_p.h index b80678b7..8c324710 100644 --- a/src/positioning/qgeoprojection_p.h +++ b/src/positioning/qwebmercator_p.h @@ -36,8 +36,8 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#ifndef QGEOPROJECTION_P_H -#define QGEOPROJECTION_P_H +#ifndef QWEBMERCATOR_P_H +#define QWEBMERCATOR_P_H // // W A R N I N G @@ -50,20 +50,17 @@ // We mean it. // -#ifndef M_PI -#define M_PI (3.14159265358979323846) -#endif - #include <qglobal.h> #include <QtCore/qvariant.h> -#include "qpositioningglobal.h" +#include <math.h> +#include "qpositioningglobal_p.h" QT_BEGIN_NAMESPACE class QGeoCoordinate; class QDoubleVector2D; -class Q_POSITIONING_EXPORT QGeoProjection +class Q_POSITIONING_PRIVATE_EXPORT QWebMercator { public: static QDoubleVector2D coordToMercator(const QGeoCoordinate &coord); @@ -76,4 +73,4 @@ private: QT_END_NAMESPACE -#endif // QGEOPROJECTION_P_H +#endif // QWEBMERCATOR_P_H |