Added networkaccessmanagermock and networkreplymock files.
[situare] / src / map / mapengine.cpp
1 /*
2    Situare - A location system for Facebook
3    Copyright (C) 2010  Ixonos Plc. Authors:
4
5        Jussi Laitinen - jussi.laitinen@ixonos.com
6
7    Situare is free software; you can redistribute it and/or
8    modify it under the terms of the GNU General Public License
9    version 2 as published by the Free Software Foundation.
10
11    Situare is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with Situare; if not, write to the Free Software
18    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
19    USA.
20 */
21
22 #include <QtCore>
23 #include <QtGlobal>
24
25 #include "mapengine.h"
26
27 MapEngine::MapEngine(QObject *parent)
28     : QObject(parent)
29 {
30
31 }
32
33 /*QPoint MapEngine::latLonToTile(qreal latitude, qreal longitude, int zoom)
34 {
35     //Power of two
36     qreal z = static_cast<qreal>(1 << zoom);
37
38     qreal x = static_cast<qreal>((longitude + 180.0) / 360.0);
39     qreal y = static_cast<qreal>((1.0 - log(tan(latitude * M_PI / 180.0) + 1.0
40                                 / cos(latitude * M_PI / 180.0)) / M_PI) / 2.0);
41
42     return QPoint(qFloor(x*z), qFloor(y*z));
43 }*/
44
45 qreal MapEngine::tileXToLongitude(int x, int zoom)
46 {
47     qreal z = static_cast<qreal>(1 << zoom);
48     qreal lon = x / z * 360.0 - 180.0;
49     qDebug() << lon;
50     return lon;
51 }
52
53 qreal MapEngine::tileYToLatitude(int y, int zoom)
54 {
55     qreal z = static_cast<qreal>(1 << zoom);
56     qreal n = M_PI - 2 * M_PI * y / zoom;
57     return 180.0 / (M_PI * atan(0.5 * exp(n) - exp(-n)));
58 }