7 changed files with 185 additions and 60 deletions
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
#include "MapboxMapProvider.h" |
||||
#include "QGCApplication.h" |
||||
#include "QGCMapEngine.h" |
||||
#include "SettingsManager.h" |
||||
|
||||
MapboxMapProvider::MapboxMapProvider(QString mapName, quint32 averageSize, |
||||
QGeoMapType::MapStyle mapType, |
||||
QObject* parent) |
||||
: MapProvider(QString("https://www.mapbox.com/"), QString("jpg"), |
||||
averageSize, mapType, parent), mapboxName(mapName) { |
||||
} |
||||
|
||||
QString |
||||
MapboxMapProvider::_getURL(int x, int y, int zoom, |
||||
QNetworkAccessManager* networkManager) { |
||||
Q_UNUSED(networkManager); |
||||
QString mapBoxToken = qgcApp() |
||||
->toolbox() |
||||
->settingsManager() |
||||
->appSettings() |
||||
->mapboxToken() |
||||
->rawValue() |
||||
.toString(); |
||||
if (!mapBoxToken.isEmpty()) { |
||||
QString server = "https://api.mapbox.com/v4/"; |
||||
server += mapboxName; |
||||
server += QString("/%1/%2/%3.jpg80?access_token=%4") |
||||
.arg(zoom) |
||||
.arg(x) |
||||
.arg(y) |
||||
.arg(mapBoxToken); |
||||
return server; |
||||
} |
||||
return QString(""); |
||||
} |
@ -0,0 +1,133 @@
@@ -0,0 +1,133 @@
|
||||
#pragma once |
||||
|
||||
#include "MapProvider.h" |
||||
|
||||
#include <QByteArray> |
||||
#include <QMutex> |
||||
#include <QNetworkProxy> |
||||
#include <QNetworkReply> |
||||
#include <QPoint> |
||||
#include <QString> |
||||
|
||||
class MapboxMapProvider : public MapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxMapProvider(QString mapName, quint32 averageSize, |
||||
QGeoMapType::MapStyle mapType, QObject* parent); |
||||
QString _getURL(int x, int y, int zoom, |
||||
QNetworkAccessManager* networkManager); |
||||
protected: |
||||
QString mapboxName; |
||||
}; |
||||
|
||||
class MapboxStreetMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxStreetMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.streets", AVERAGE_MAPBOX_STREET_MAP, |
||||
QGeoMapType::StreetMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxLightMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxLightMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.light", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxDarkMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxDarkMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.dark", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxSatelliteMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxSatelliteMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.satellite", AVERAGE_MAPBOX_SAT_MAP, |
||||
QGeoMapType::SatelliteMapDay, parent) {} |
||||
}; |
||||
|
||||
class MapboxHybridMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxHybridMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.hybrid", AVERAGE_MAPBOX_SAT_MAP, |
||||
QGeoMapType::HybridMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxWheatPasteMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxWheatPasteMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.wheatpaste", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxStreetsBasicMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxStreetsBasicMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.streets-basic", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::StreetMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxComicMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxComicMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.comic", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxOutdoorsMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxOutdoorsMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.outdoors", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxRunBikeHikeMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxRunBikeHikeMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.run-bike-hike", AVERAGE_MAPBOX_STREET_MAP, |
||||
QGeoMapType::CycleMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxPencilMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxPencilMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.pencil", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxPiratesMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxPiratesMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.pirates", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxEmeraldMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxEmeraldMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.emerald", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
||||
|
||||
class MapboxHighContrastMapProvider : public MapboxMapProvider { |
||||
Q_OBJECT |
||||
public: |
||||
MapboxHighContrastMapProvider(QObject* parent) |
||||
: MapboxMapProvider("mapbox.high-contrast", AVERAGE_TILE_SIZE, |
||||
QGeoMapType::CustomMap, parent) {} |
||||
}; |
Loading…
Reference in new issue