diff --git a/src/QtLocationPlugin/QGCMapUrlEngine.cpp b/src/QtLocationPlugin/QGCMapUrlEngine.cpp index cc6be0266abe9e6a067437a03b059faf67ce43e7..31513f329d60eb39606c6b822ebc2ba41a75b537 100644 --- a/src/QtLocationPlugin/QGCMapUrlEngine.cpp +++ b/src/QtLocationPlugin/QGCMapUrlEngine.cpp @@ -155,6 +155,17 @@ QString UrlFactory::getTypeFromId(int id) { return ""; } +MapProvider* UrlFactory::getMapProviderFromId(int id) +{ + QString type = getTypeFromId(id); + if (!type.isEmpty()) { + if (_providersTable.find(type) != _providersTable.end()) { + return _providersTable[type]; + } + } + return nullptr; +} + // Todo : qHash produce a uint bigger than max(int) // There is still a low probability for this to // generate similar hash for different types diff --git a/src/QtLocationPlugin/QGCMapUrlEngine.h b/src/QtLocationPlugin/QGCMapUrlEngine.h index 6809926d92d849a81b62597223c4d9fe5a43341a..898cf4747043cadddf55cdfd0fcb42783e24eab2 100644 --- a/src/QtLocationPlugin/QGCMapUrlEngine.h +++ b/src/QtLocationPlugin/QGCMapUrlEngine.h @@ -48,6 +48,7 @@ public: int getIdFromType(QString type); QString getTypeFromId(int id); + MapProvider* getMapProviderFromId(int id); QGCTileSet getTileCount(int zoom, double topleftLon, double topleftLat, double bottomRightLon, double bottomRightLat,