Browse Source

Use Hash table in QGeoTiledMappingManagerEngineQGC

QGC4.4
Pierre TILAK 6 years ago
parent
commit
cf560e2ce5
  1. 7
      src/QtLocationPlugin/GoogleMapProvider.cpp
  2. 67
      src/QtLocationPlugin/GoogleMapProvider.h
  3. 4
      src/QtLocationPlugin/MapProvider.cpp
  4. 37
      src/QtLocationPlugin/MapProvider.h
  5. 10
      src/QtLocationPlugin/QGCMapUrlEngine.cpp
  6. 6
      src/QtLocationPlugin/QGCMapUrlEngine.h
  7. 135
      src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp

7
src/QtLocationPlugin/GoogleMapProvider.cpp

@ -5,11 +5,10 @@
#endif #endif
#include "QGCMapEngine.h" #include "QGCMapEngine.h"
#define AVERAGE_GOOGLE_STREET_MAP 4913
GoogleMapProvider::GoogleMapProvider(QObject* parent) GoogleMapProvider::GoogleMapProvider(quint32 averageSize, QGeoMapType::MapStyle mapType ,QObject* parent)
: MapProvider(QString("https://www.google.com/maps/preview"), : MapProvider(QString("https://www.google.com/maps/preview"),
QString("png"), quint32(AVERAGE_GOOGLE_STREET_MAP), parent), QString("png"), averageSize, mapType, parent),
_googleVersionRetrieved(false), _googleReply(nullptr) { _googleVersionRetrieved(false), _googleReply(nullptr) {
// Google version strings // Google version strings
@ -127,7 +126,7 @@ void GoogleMapProvider::_tryCorrectGoogleVersions(
} }
} }
QString GoogleMapProvider::_getURL(int x, int y, int zoom, QString GoogleStreetMapProvider::_getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager) { QNetworkAccessManager* networkManager) {
// http://mt1.google.com/vt/lyrs=m // http://mt1.google.com/vt/lyrs=m
QString server = "mt"; QString server = "mt";

67
src/QtLocationPlugin/GoogleMapProvider.h

@ -3,16 +3,17 @@
#include "MapProvider.h" #include "MapProvider.h"
#include <QByteArray> #include <QByteArray>
#include <QMutex>
#include <QNetworkProxy> #include <QNetworkProxy>
#include <QNetworkReply> #include <QNetworkReply>
#include <QString>
#include <QPoint> #include <QPoint>
#include <QMutex> #include <QString>
class GoogleMapProvider : public MapProvider { class GoogleMapProvider : public MapProvider {
Q_OBJECT Q_OBJECT
public: public:
GoogleMapProvider(QObject* parent); GoogleMapProvider(quint32 averageSize, QGeoMapType::MapStyle mapType,
QObject* parent);
~GoogleMapProvider(); ~GoogleMapProvider();
@ -25,8 +26,8 @@ class GoogleMapProvider : public MapProvider {
protected: protected:
// Define the url to Request // Define the url to Request
QString _getURL(int x, int y, int zoom, virtual QString _getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager) ; QNetworkAccessManager* networkManager) = 0;
// Google Specific private methods // Google Specific private methods
void _getSecGoogleWords(int x, int y, QString& sec1, QString& sec2); void _getSecGoogleWords(int x, int y, QString& sec1, QString& sec2);
@ -43,28 +44,78 @@ class GoogleMapProvider : public MapProvider {
QString _secGoogleWord; QString _secGoogleWord;
}; };
// NoMap = 0,
// StreetMap,
// SatelliteMapDay,
// SatelliteMapNight,
// TerrainMap,
// HybridMap,
// TransitMap,
// GrayStreetMap,
// PedestrianMap,
// CarNavigationMap,
// CycleMap,
// CustomMap = 100
const unsigned int AVERAGE_GOOGLE_STREET_MAP = 4913;
const unsigned int AVERAGE_GOOGLE_SAT_MAP = 56887;
const unsigned int AVERAGE_GOOGLE_TERRAIN_MAP = 19391;
// -----------------------------------------------------------
// Google Street Map
class GoogleStreetMapProvider : public GoogleMapProvider {
Q_OBJECT
public:
GoogleStreetMapProvider(QObject* parent)
: GoogleMapProvider(AVERAGE_GOOGLE_STREET_MAP, QGeoMapType::StreetMap,
parent) {}
protected:
QString _getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager);
};
// -----------------------------------------------------------
// Google Street Map
class GoogleSatelliteMapProvider : public GoogleMapProvider { class GoogleSatelliteMapProvider : public GoogleMapProvider {
Q_OBJECT Q_OBJECT
public: public:
GoogleSatelliteMapProvider(QObject* parent):GoogleMapProvider(parent){} GoogleSatelliteMapProvider(QObject* parent)
: GoogleMapProvider(AVERAGE_GOOGLE_SAT_MAP,
QGeoMapType::SatelliteMapDay, parent) {}
protected: protected:
QString _getURL(int x, int y, int zoom, QString _getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager); QNetworkAccessManager* networkManager);
}; };
// -----------------------------------------------------------
// Google Labels Map
class GoogleLabelsMapProvider : public GoogleMapProvider { class GoogleLabelsMapProvider : public GoogleMapProvider {
Q_OBJECT Q_OBJECT
public: public:
GoogleLabelsMapProvider(QObject* parent):GoogleMapProvider(parent){} GoogleLabelsMapProvider(QObject* parent)
: GoogleMapProvider(AVERAGE_TILE_SIZE, QGeoMapType::CustomMap, parent) {
}
protected: protected:
QString _getURL(int x, int y, int zoom, QString _getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager); QNetworkAccessManager* networkManager);
}; };
// -----------------------------------------------------------
// Google Terrain Map
class GoogleTerrainMapProvider : public GoogleMapProvider { class GoogleTerrainMapProvider : public GoogleMapProvider {
Q_OBJECT Q_OBJECT
public: public:
GoogleTerrainMapProvider(QObject* parent):GoogleMapProvider(parent){} GoogleTerrainMapProvider(QObject* parent)
: GoogleMapProvider(AVERAGE_GOOGLE_TERRAIN_MAP, QGeoMapType::TerrainMap,
parent) {}
protected: protected:
QString _getURL(int x, int y, int zoom, QString _getURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager); QNetworkAccessManager* networkManager);

4
src/QtLocationPlugin/MapProvider.cpp

@ -1,9 +1,9 @@
#include "MapProvider.h" #include "MapProvider.h"
MapProvider::MapProvider(QString referrer, QString imageFormat, MapProvider::MapProvider(QString referrer, QString imageFormat,
quint32 averageSize, QObject* parent) quint32 averageSize, QGeoMapType::MapStyle mapType,QObject* parent)
: QObject(parent), _referrer(referrer), _imageFormat(imageFormat), : QObject(parent), _referrer(referrer), _imageFormat(imageFormat),
_averageSize(averageSize) { _averageSize(averageSize), _mapType(mapType) {
QStringList langs = QLocale::system().uiLanguages(); QStringList langs = QLocale::system().uiLanguages();
if (langs.length() > 0) { if (langs.length() > 0) {
_language = langs[0]; _language = langs[0];

37
src/QtLocationPlugin/MapProvider.h

@ -4,32 +4,45 @@
#include <QNetworkProxy> #include <QNetworkProxy>
#include <QNetworkReply> #include <QNetworkReply>
#include <QString> #include <QString>
#include <QtLocation/private/qgeomaptype_p.h>
static const unsigned char pngSignature[] = {0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00}; static const unsigned char pngSignature[] = {0x89, 0x50, 0x4E, 0x47, 0x0D,
static const unsigned char jpegSignature[] = {0xFF, 0xD8, 0xFF, 0x00}; 0x0A, 0x1A, 0x0A, 0x00};
static const unsigned char gifSignature[] = {0x47, 0x49, 0x46, 0x38, 0x00}; static const unsigned char jpegSignature[] = {0xFF, 0xD8, 0xFF, 0x00};
static const unsigned char gifSignature[] = {0x47, 0x49, 0x46, 0x38, 0x00};
const unsigned int AVERAGE_BING_STREET_MAP = 1297;
const unsigned int AVERAGE_BING_SAT_MAP = 19597;
const unsigned int AVERAGE_MAPBOX_SAT_MAP = 15739;
const unsigned int AVERAGE_MAPBOX_STREET_MAP = 5648;
const unsigned int AVERAGE_TILE_SIZE = 13652;
const unsigned int AVERAGE_AIRMAP_ELEV_SIZE = 2786;
class MapProvider : public QObject { class MapProvider : public QObject {
Q_OBJECT Q_OBJECT
public: public:
MapProvider(QString referrer, QString imageFormat, quint32 averageSize, MapProvider(
QObject* parent = nullptr); QString referrer, QString imageFormat, quint32 averageSize,
QGeoMapType::MapStyle _mapType = QGeoMapType::CustomMap, QObject* parent = nullptr);
QNetworkRequest getTileURL(int x, int y, int zoom, QNetworkRequest getTileURL(int x, int y, int zoom,
QNetworkAccessManager* networkManager); QNetworkAccessManager* networkManager);
QString getImageFormat(const QByteArray& image); QString getImageFormat(const QByteArray& image);
QGeoMapType::MapStyle getMapStyle(){return _mapType;}
protected: protected:
QString _tileXYToQuadKey (int tileX, int tileY, int levelOfDetail); QString _tileXYToQuadKey(int tileX, int tileY, int levelOfDetail);
int _getServerNum (int x, int y, int max); int _getServerNum(int x, int y, int max);
// Define Referrer for Request RawHeader // Define Referrer for Request RawHeader
QString _referrer; QString _referrer;
QString _imageFormat; QString _imageFormat;
quint32 _averageSize; quint32 _averageSize;
QByteArray _userAgent; QByteArray _userAgent;
QString _language; QString _language;
QGeoMapType::MapStyle _mapType;
// Define the url to Request // Define the url to Request
virtual QString _getURL(int x, int y, int zoom, virtual QString _getURL(int x, int y, int zoom,

10
src/QtLocationPlugin/QGCMapUrlEngine.cpp

@ -29,14 +29,6 @@
#include <QByteArray> #include <QByteArray>
#define AVERAGE_GOOGLE_TERRAIN_MAP 19391
#define AVERAGE_BING_STREET_MAP 1297
#define AVERAGE_BING_SAT_MAP 19597
#define AVERAGE_GOOGLE_SAT_MAP 56887
#define AVERAGE_MAPBOX_SAT_MAP 15739
#define AVERAGE_MAPBOX_STREET_MAP 5648
#define AVERAGE_TILE_SIZE 13652
#define AVERAGE_AIRMAP_ELEV_SIZE 2786
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
UrlFactory::UrlFactory() UrlFactory::UrlFactory()
@ -46,7 +38,7 @@ UrlFactory::UrlFactory()
// BingMaps // BingMaps
//_versionBingMaps = "563"; //_versionBingMaps = "563";
#ifndef QGC_NO_GOOGLE_MAPS #ifndef QGC_NO_GOOGLE_MAPS
_providersTable["GoogleStreet"] = new GoogleMapProvider(this); _providersTable["GoogleStreet"] = new GoogleStreetMapProvider(this);
_providersTable["GoogleSatellite"] = new GoogleSatelliteMapProvider(this); _providersTable["GoogleSatellite"] = new GoogleSatelliteMapProvider(this);
#endif #endif
_curMapProvider = _providersTable["GoogleStreet"]; _curMapProvider = _providersTable["GoogleStreet"];

6
src/QtLocationPlugin/QGCMapUrlEngine.h

@ -85,18 +85,16 @@ public:
static quint32 averageSizeForType (MapType type); static quint32 averageSizeForType (MapType type);
QHash<QString, MapProvider*> getProviderTable(){return _providersTable;}
//private:
// QString _getURL (MapType type, int x, int y, int zoom, QNetworkAccessManager* networkManager);
private: private:
int _timeout; int _timeout;
QHash<QString, MapProvider*> _providersTable;
// BingMaps // BingMaps
//QString _versionBingMaps; //QString _versionBingMaps;
MapProvider* _curMapProvider; MapProvider* _curMapProvider;
QHash<QString, MapProvider*> _providersTable;
}; };

135
src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp

@ -100,71 +100,82 @@ QGeoTiledMappingManagerEngineQGC::QGeoTiledMappingManagerEngineQGC(const QVarian
* Google and Bing don't seem kosher at all. This was based on original code from OpenPilot and heavily modified to be used in QGC. * Google and Bing don't seem kosher at all. This was based on original code from OpenPilot and heavily modified to be used in QGC.
*/ */
QList<QGeoMapType> mapList;
QHashIterator<QString, MapProvider*> i(getQGCMapEngine()->urlFactory()->getProviderTable());
int id = 0;
while(i.hasNext()){
i.next();
id++;
mapList.append(QGCGEOMAPTYPE(i.value()->getMapStyle(), i.key(), i.key(), false, false, id));
}
setSupportedMapTypes(mapList);
//-- IMPORTANT //-- IMPORTANT
// Changes here must reflect those in QGCMapEngine.cpp // Changes here must reflect those in QGCMapEngine.cpp
setSupportedMapTypes({ // setSupportedMapTypes({
#ifndef QGC_NO_GOOGLE_MAPS //#ifndef QGC_NO_GOOGLE_MAPS
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Google Street Map", "Google street map", false, false, UrlFactory::GoogleMap), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Google Street Map", "Google street map", false, false, UrlFactory::GoogleMap),
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Google Satellite Map", "Google satellite map", false, false, UrlFactory::GoogleSatellite), // QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Google Satellite Map", "Google satellite map", false, false, UrlFactory::GoogleSatellite),
QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Google Terrain Map", "Google terrain map", false, false, UrlFactory::GoogleTerrain), // QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Google Terrain Map", "Google terrain map", false, false, UrlFactory::GoogleTerrain),
#endif //#endif
//
/* TODO: // /* TODO:
* Proper google hybrid maps requires collecting two separate bitmaps and overlaying them. // * Proper google hybrid maps requires collecting two separate bitmaps and overlaying them.
* // *
* mapTypes << QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Google Hybrid Map", "Google hybrid map", false, false, UrlFactory::GoogleHybrid), // * mapTypes << QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Google Hybrid Map", "Google hybrid map", false, false, UrlFactory::GoogleHybrid),
* // *
*/ // */
//
// Bing // // Bing
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Bing Street Map", "Bing street map", false, false, UrlFactory::BingMap), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Bing Street Map", "Bing street map", false, false, UrlFactory::BingMap),
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Bing Satellite Map", "Bing satellite map", false, false, UrlFactory::BingSatellite), // QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Bing Satellite Map", "Bing satellite map", false, false, UrlFactory::BingSatellite),
QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Bing Hybrid Map", "Bing hybrid map", false, false, UrlFactory::BingHybrid), // QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Bing Hybrid Map", "Bing hybrid map", false, false, UrlFactory::BingHybrid),
//
// Statkart // // Statkart
QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Statkart Terrain Map", "Statkart Terrain Map", false, false, UrlFactory::StatkartTopo), // QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Statkart Terrain Map", "Statkart Terrain Map", false, false, UrlFactory::StatkartTopo),
// Eniro // // Eniro
QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Eniro Terrain Map", "Eniro Terrain Map", false, false, UrlFactory::EniroTopo), // QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Eniro Terrain Map", "Eniro Terrain Map", false, false, UrlFactory::EniroTopo),
//
// Esri // // Esri
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Esri Street Map", "ArcGIS Online World Street Map", true, false, UrlFactory::EsriWorldStreet), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Esri Street Map", "ArcGIS Online World Street Map", true, false, UrlFactory::EsriWorldStreet),
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Esri Satellite Map", "ArcGIS Online World Imagery", true, false, UrlFactory::EsriWorldSatellite), // QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Esri Satellite Map", "ArcGIS Online World Imagery", true, false, UrlFactory::EsriWorldSatellite),
QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Esri Terrain Map", "World Terrain Base", false, false, UrlFactory::EsriTerrain), // QGCGEOMAPTYPE(QGeoMapType::TerrainMap, "Esri Terrain Map", "World Terrain Base", false, false, UrlFactory::EsriTerrain),
//
// VWorld // // VWorld
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "VWorld Satellite Map", "VWorld Satellite Map", false, false, UrlFactory::VWorldSatellite), // QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "VWorld Satellite Map", "VWorld Satellite Map", false, false, UrlFactory::VWorldSatellite),
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "VWorld Street Map", "VWorld Street Map", false, false, UrlFactory::VWorldStreet), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "VWorld Street Map", "VWorld Street Map", false, false, UrlFactory::VWorldStreet),
//
/* See: https://wiki.openstreetmap.org/wiki/Tile_usage_policy // /* See: https://wiki.openstreetmap.org/wiki/Tile_usage_policy
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Open Street Map", "Open Street map", false, false, UrlFactory::OpenStreetMap), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Open Street Map", "Open Street map", false, false, UrlFactory::OpenStreetMap),
*/ // */
//
// MapQuest // // MapQuest
/* // /*
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "MapQuest Street Map", "MapQuest street map", false, false, UrlFactory::MapQuestMap), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "MapQuest Street Map", "MapQuest street map", false, false, UrlFactory::MapQuestMap),
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "MapQuest Satellite Map", "MapQuest satellite map", false, false, UrlFactory::MapQuestSat), // QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "MapQuest Satellite Map", "MapQuest satellite map", false, false, UrlFactory::MapQuestSat),
*/ // */
//
/* // /*
* These are OK as you need your own token for accessing it. Out-of-the box, QGC does not even offer these unless you enter a proper Mapbox token. // * These are OK as you need your own token for accessing it. Out-of-the box, QGC does not even offer these unless you enter a proper Mapbox token.
*/ // */
//
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Mapbox Street Map", "Mapbox Street Map", false, false, UrlFactory::MapboxStreets), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Mapbox Street Map", "Mapbox Street Map", false, false, UrlFactory::MapboxStreets),
QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Mapbox Satellite Map", "Mapbox Satellite Map", false, false, UrlFactory::MapboxSatellite), // QGCGEOMAPTYPE(QGeoMapType::SatelliteMapDay, "Mapbox Satellite Map", "Mapbox Satellite Map", false, false, UrlFactory::MapboxSatellite),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox High Contrast Map", "Mapbox High Contrast Map", false, false, UrlFactory::MapboxHighContrast), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox High Contrast Map", "Mapbox High Contrast Map", false, false, UrlFactory::MapboxHighContrast),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Light Map", "Mapbox Light Map", false, false, UrlFactory::MapboxLight), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Light Map", "Mapbox Light Map", false, false, UrlFactory::MapboxLight),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Dark Map", "Mapbox Dark Map", false, false, UrlFactory::MapboxDark), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Dark Map", "Mapbox Dark Map", false, false, UrlFactory::MapboxDark),
QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Mapbox Hybrid Map", "Mapbox Hybrid Map", false, false, UrlFactory::MapboxHybrid), // QGCGEOMAPTYPE(QGeoMapType::HybridMap, "Mapbox Hybrid Map", "Mapbox Hybrid Map", false, false, UrlFactory::MapboxHybrid),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Wheat Paste Map", "Mapbox Wheat Paste Map", false, false, UrlFactory::MapboxWheatPaste), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Wheat Paste Map", "Mapbox Wheat Paste Map", false, false, UrlFactory::MapboxWheatPaste),
QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Mapbox Streets Basic Map", "Mapbox Streets Basic Map", false, false, UrlFactory::MapboxStreetsBasic), // QGCGEOMAPTYPE(QGeoMapType::StreetMap, "Mapbox Streets Basic Map", "Mapbox Streets Basic Map", false, false, UrlFactory::MapboxStreetsBasic),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Comic Map", "Mapbox Comic Map", false, false, UrlFactory::MapboxComic), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Comic Map", "Mapbox Comic Map", false, false, UrlFactory::MapboxComic),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Outdoors Map", "Mapbox Outdoors Map", false, false, UrlFactory::MapboxOutdoors), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Outdoors Map", "Mapbox Outdoors Map", false, false, UrlFactory::MapboxOutdoors),
QGCGEOMAPTYPE(QGeoMapType::CycleMap, "Mapbox Run, Byke and Hike Map", "Mapbox Run, Byke and Hike Map", false, false, UrlFactory::MapboxRunBikeHike), // QGCGEOMAPTYPE(QGeoMapType::CycleMap, "Mapbox Run, Byke and Hike Map", "Mapbox Run, Byke and Hike Map", false, false, UrlFactory::MapboxRunBikeHike),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Pencil Map", "Mapbox Pencil Map", false, false, UrlFactory::MapboxPencil), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Pencil Map", "Mapbox Pencil Map", false, false, UrlFactory::MapboxPencil),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Pirates Map", "Mapbox Pirates Map", false, false, UrlFactory::MapboxPirates), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Pirates Map", "Mapbox Pirates Map", false, false, UrlFactory::MapboxPirates),
QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Emerald Map", "Mapbox Emerald Map", false, false, UrlFactory::MapboxEmerald), // QGCGEOMAPTYPE(QGeoMapType::CustomMap, "Mapbox Emerald Map", "Mapbox Emerald Map", false, false, UrlFactory::MapboxEmerald),
}); // });
//-- Users (QML code) can define a different user agent //-- Users (QML code) can define a different user agent
if (parameters.contains(QStringLiteral("useragent"))) { if (parameters.contains(QStringLiteral("useragent"))) {

Loading…
Cancel
Save