6 MapEngine::MapEngine(QObject *parent)
12 /*QPoint MapEngine::latLonToTile(qreal latitude, qreal longitude, int zoom)
15 qreal z = static_cast<qreal>(1 << zoom);
17 qreal x = static_cast<qreal>((longitude + 180.0) / 360.0);
18 qreal y = static_cast<qreal>((1.0 - log(tan(latitude * M_PI / 180.0) + 1.0
19 / cos(latitude * M_PI / 180.0)) / M_PI) / 2.0);
21 return QPoint(qFloor(x*z), qFloor(y*z));
24 qreal MapEngine::tileXToLongitude(int x, int zoom)
26 qreal z = static_cast<qreal>(1 << zoom);
27 qreal lon = x / z * 360.0 - 180.0;
32 qreal MapEngine::tileYToLatitude(int y, int zoom)
34 qreal z = static_cast<qreal>(1 << zoom);
35 qreal n = M_PI - 2 * M_PI * y / zoom;
36 return 180.0 / (M_PI * atan(0.5 * exp(n) - exp(-n)));