8 changed files with 190 additions and 19 deletions
@ -0,0 +1,51 @@ |
|||||||
|
#include "BingMapProvider.h" |
||||||
|
#if defined(DEBUG_GOOGLE_MAPS) |
||||||
|
#include <QFile> |
||||||
|
#include <QStandardPaths> |
||||||
|
#endif |
||||||
|
#include "QGCMapEngine.h" |
||||||
|
|
||||||
|
BingMapProvider::BingMapProvider(quint32 averageSize, |
||||||
|
QGeoMapType::MapStyle mapType, QObject* parent) |
||||||
|
: MapProvider(QString("https://www.bing.com/maps/"), QString("png"), |
||||||
|
averageSize, mapType, parent) {} |
||||||
|
|
||||||
|
BingMapProvider::~BingMapProvider() {} |
||||||
|
|
||||||
|
QString BingRoadMapProvider::_getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager) { |
||||||
|
Q_UNUSED(networkManager); |
||||||
|
QString key = _tileXYToQuadKey(x, y, zoom); |
||||||
|
return QString("http://ecn.t%1.tiles.virtualearth.net/tiles/" |
||||||
|
"r%2.png?g=%3&mkt=%4") |
||||||
|
.arg(_getServerNum(x, y, 4)) |
||||||
|
.arg(key) |
||||||
|
.arg(_versionBingMaps) |
||||||
|
.arg(_language); |
||||||
|
} |
||||||
|
|
||||||
|
QString |
||||||
|
BingSatelliteMapProvider::_getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager) { |
||||||
|
Q_UNUSED(networkManager); |
||||||
|
QString key = _tileXYToQuadKey(x, y, zoom); |
||||||
|
return QString("http://ecn.t%1.tiles.virtualearth.net/tiles/" |
||||||
|
"a%2.jpeg?g=%3&mkt=%4") |
||||||
|
.arg(_getServerNum(x, y, 4)) |
||||||
|
.arg(key) |
||||||
|
.arg(_versionBingMaps) |
||||||
|
.arg(_language); |
||||||
|
} |
||||||
|
|
||||||
|
QString BingHybridMapProvider::_getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager) { |
||||||
|
Q_UNUSED(networkManager); |
||||||
|
QString key = _tileXYToQuadKey(x, y, zoom); |
||||||
|
return QString("http://ecn.t%1.tiles.virtualearth.net/tiles/" |
||||||
|
"h%2.jpeg?g=%3&mkt=%4") |
||||||
|
.arg(_getServerNum(x, y, 4)) |
||||||
|
.arg(key) |
||||||
|
.arg(_versionBingMaps) |
||||||
|
.arg(_language); |
||||||
|
} |
||||||
|
|
@ -0,0 +1,74 @@ |
|||||||
|
#pragma once |
||||||
|
|
||||||
|
#include "MapProvider.h" |
||||||
|
|
||||||
|
#include <QByteArray> |
||||||
|
#include <QMutex> |
||||||
|
#include <QNetworkProxy> |
||||||
|
#include <QNetworkReply> |
||||||
|
#include <QPoint> |
||||||
|
#include <QString> |
||||||
|
|
||||||
|
class BingMapProvider : public MapProvider { |
||||||
|
Q_OBJECT |
||||||
|
public: |
||||||
|
BingMapProvider(quint32 averageSize, QGeoMapType::MapStyle mapType, |
||||||
|
QObject* parent); |
||||||
|
|
||||||
|
~BingMapProvider(); |
||||||
|
|
||||||
|
protected: |
||||||
|
// Define the url to Request
|
||||||
|
virtual QString _getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager) = 0; |
||||||
|
|
||||||
|
const QString _versionBingMaps = "563"; |
||||||
|
}; |
||||||
|
|
||||||
|
const quint32 AVERAGE_BING_STREET_MAP = 1297; |
||||||
|
const quint32 AVERAGE_BING_SAT_MAP = 19597; |
||||||
|
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
// Bing Road Map
|
||||||
|
|
||||||
|
class BingRoadMapProvider : public BingMapProvider { |
||||||
|
Q_OBJECT |
||||||
|
public: |
||||||
|
BingRoadMapProvider(QObject* parent) |
||||||
|
: BingMapProvider(AVERAGE_BING_STREET_MAP, QGeoMapType::StreetMap, |
||||||
|
parent) {} |
||||||
|
|
||||||
|
protected: |
||||||
|
QString _getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager); |
||||||
|
}; |
||||||
|
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
// Bing Satellite Map
|
||||||
|
|
||||||
|
class BingSatelliteMapProvider : public BingMapProvider { |
||||||
|
Q_OBJECT |
||||||
|
public: |
||||||
|
BingSatelliteMapProvider(QObject* parent) |
||||||
|
: BingMapProvider(AVERAGE_BING_SAT_MAP, QGeoMapType::SatelliteMapDay, |
||||||
|
parent) {} |
||||||
|
|
||||||
|
protected: |
||||||
|
QString _getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager); |
||||||
|
}; |
||||||
|
|
||||||
|
// -----------------------------------------------------------
|
||||||
|
// Bing Hybrid Map
|
||||||
|
|
||||||
|
class BingHybridMapProvider : public BingMapProvider { |
||||||
|
Q_OBJECT |
||||||
|
public: |
||||||
|
BingHybridMapProvider(QObject* parent) |
||||||
|
: BingMapProvider(AVERAGE_BING_SAT_MAP, QGeoMapType::HybridMap, |
||||||
|
parent) {} |
||||||
|
|
||||||
|
protected: |
||||||
|
QString _getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager); |
||||||
|
}; |
@ -0,0 +1,23 @@ |
|||||||
|
#include "StatkartMapProvider.h" |
||||||
|
#if defined(DEBUG_GOOGLE_MAPS) |
||||||
|
#include <QFile> |
||||||
|
#include <QStandardPaths> |
||||||
|
#endif |
||||||
|
#include "QGCMapEngine.h" |
||||||
|
|
||||||
|
StatkartMapProvider::StatkartMapProvider(QObject* parent) |
||||||
|
: MapProvider(QString("https://www.norgeskart.no/"), QString("png"), |
||||||
|
AVERAGE_TILE_SIZE, QGeoMapType::StreetMap, parent) {} |
||||||
|
|
||||||
|
StatkartMapProvider::~StatkartMapProvider() {} |
||||||
|
|
||||||
|
QString StatkartMapProvider::_getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager) { |
||||||
|
Q_UNUSED(networkManager); |
||||||
|
return QString("http://opencache.statkart.no/gatekeeper/gk/" |
||||||
|
"gk.open_gmaps?layers=topo4&zoom=%1&x=%2&y=%3") |
||||||
|
.arg(zoom) |
||||||
|
.arg(x) |
||||||
|
.arg(y); |
||||||
|
} |
||||||
|
|
@ -0,0 +1,23 @@ |
|||||||
|
#pragma once |
||||||
|
|
||||||
|
#include "MapProvider.h" |
||||||
|
|
||||||
|
#include <QByteArray> |
||||||
|
#include <QMutex> |
||||||
|
#include <QNetworkProxy> |
||||||
|
#include <QNetworkReply> |
||||||
|
#include <QPoint> |
||||||
|
#include <QString> |
||||||
|
|
||||||
|
class StatkartMapProvider : public MapProvider { |
||||||
|
|
||||||
|
Q_OBJECT |
||||||
|
public: |
||||||
|
StatkartMapProvider(QObject* parent); |
||||||
|
~StatkartMapProvider(); |
||||||
|
|
||||||
|
protected: |
||||||
|
QString _getURL(int x, int y, int zoom, |
||||||
|
QNetworkAccessManager* networkManager); |
||||||
|
}; |
||||||
|
|
Loading…
Reference in new issue