diff options
Diffstat (limited to 'examples/embedded/lightmaps/slippymap.cpp')
-rw-r--r-- | examples/embedded/lightmaps/slippymap.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/examples/embedded/lightmaps/slippymap.cpp b/examples/embedded/lightmaps/slippymap.cpp index 7e847c2501..ff43261700 100644 --- a/examples/embedded/lightmaps/slippymap.cpp +++ b/examples/embedded/lightmaps/slippymap.cpp @@ -48,15 +48,10 @@ ** ****************************************************************************/ -#include <math.h> - #include <QtWidgets> #include <QtNetwork> #include "slippymap.h" - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif +#include "qmath.h" uint qHash(const QPoint& p) { @@ -68,10 +63,10 @@ const int tdim = 256; QPointF tileForCoordinate(qreal lat, qreal lng, int zoom) { + qreal radianLat = qDegreesToRadians(lat); qreal zn = static_cast<qreal>(1 << zoom); qreal tx = (lng + 180.0) / 360.0; - qreal ty = (1.0 - log(tan(lat * M_PI / 180.0) + - 1.0 / cos(lat * M_PI / 180.0)) / M_PI) / 2.0; + qreal ty = 0.5 - log(tan(radianLat) + 1.0 / cos(radianLat)) / M_PI / 2.0; return QPointF(tx * zn, ty * zn); } @@ -86,8 +81,7 @@ qreal latitudeFromTile(qreal ty, int zoom) { qreal zn = static_cast<qreal>(1 << zoom); qreal n = M_PI - 2 * M_PI * ty / zn; - qreal lng = 180.0 / M_PI * atan(0.5 * (exp(n) - exp(-n))); - return lng; + return qRadiansToDegrees(atan(sinh(n))); } |