QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
GenericMapProvider.cpp
Go to the documentation of this file.
2#include "SettingsManager.h"
3#include "AppSettings.h"
4
5QString CustomURLMapProvider::_getURL(int x, int y, int zoom) const
6{
7 QString url = SettingsManager::instance()->appSettings()->customURL()->rawValue().toString();
8 (void) url.replace("{x}", QString::number(x));
9 (void) url.replace("{y}", QString::number(y));
10 static const QRegularExpression zoomRegExp("\\{(z|zoom)\\}");
11 (void) url.replace(zoomRegExp, QString::number(zoom));
12 return url;
13}
14
15QString CyberJapanMapProvider::_getURL(int x, int y, int zoom) const
16{
17 return _mapUrl.arg(_mapName).arg(zoom).arg(x).arg(y).arg(_imageFormat);
18}
19
20QString LINZBasemapMapProvider::_getURL(int x, int y, int zoom) const
21{
22 return _mapUrl.arg(zoom).arg(x).arg(y).arg(_imageFormat);
23}
24
25QString OpenAIPMapProvider::_getURL(int x, int y, int zoom) const
26{
27 const QString apiKey = SettingsManager::instance()->appSettings()->openaipToken()->rawValue().toString();
28
29 QString url = _mapUrl.arg(zoom).arg(x).arg(y);
30
31 if (!apiKey.isEmpty()) {
32 url += QStringLiteral("?apiKey=%1").arg(apiKey);
33 }
34
35 return url;
36}
37
38QString OpenStreetMapProvider::_getURL(int x, int y, int zoom) const
39{
40 return _mapUrl.arg(zoom).arg(x).arg(y);
41}
42
43QString StatkartMapProvider::_getURL(int x, int y, int zoom) const
44{
45 return _mapUrl.arg(zoom).arg(y).arg(x);
46}
47
48QString EniroMapProvider::_getURL(int x, int y, int zoom) const
49{
50 return _mapUrl.arg(zoom).arg(x).arg((1 << zoom) - 1 - y).arg(_imageFormat);
51}
52
53QString SvalbardMapProvider::_getURL(int x, int y, int zoom) const
54{
55 return _mapUrl.arg(zoom).arg(y).arg(x);
56}
57
58QString MapQuestMapProvider::_getURL(int x, int y, int zoom) const
59{
60 return _mapUrl.arg(_getServerNum(x, y, 4)).arg(_mapName).arg(zoom).arg(x).arg(y).arg(_imageFormat);
61}
62
63QString VWorldMapProvider::_getURL(int x, int y, int zoom) const
64{
65 if ((zoom < 5) || (zoom > 19)) {
66 return QString();
67 }
68
69 const int gap = zoom - 6;
70
71 const int x_min = 53 * pow(2, gap);
72 const int x_max = (55 * pow(2, gap)) + (2 * gap - 1);
73 if ((x < x_min) || (x > x_max)) {
74 return QString();
75 }
76
77 const int y_min = 22 * pow(2, gap);
78 const int y_max = (26 * pow(2, gap)) + (2 * gap - 1);
79 if ((y < y_min) || (y > y_max)) {
80 return QString();
81 }
82
83 const QString VWorldMapToken = SettingsManager::instance()->appSettings()->vworldToken()->rawValue().toString();
84 return _mapUrl.arg(VWorldMapToken, _mapName).arg(zoom).arg(y).arg(x).arg(_imageFormat);
85}
Fact *customURL READ customURL CONSTANT Fact * customURL()
Fact *openaipToken READ openaipToken CONSTANT Fact * openaipToken()
Fact *vworldToken READ vworldToken CONSTANT Fact * vworldToken()
int _getServerNum(int x, int y, int max) const
const QString _imageFormat
Definition MapProvider.h:72
const QString _mapName
Definition MapProvider.h:70