You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PayloadAPP/Src/RescueLoad/map/tianditu/include/timapurlengine.h

37 lines
1.4 KiB
C

#pragma once
#include <QHash>
#include <QNetworkAccessManager>
#include <QObject>
class TiMapProvider;
/**
* @brief The TiMapUrlEngine class
* hash map
*/
class TiMapUrlEngine : public QObject
{
Q_OBJECT
public:
TiMapUrlEngine(QObject* parent = nullptr);
typedef QPair<QString, TiMapProvider*> ProviderPair;
QMap<QString, QString> getProviderNameList() const;
QString getTypeFromId(const int id) const;
int getIdFromType(const QString& type) const;
TiMapProvider* getMapProviderFromId(int id) const;
TiMapProvider* getMapProviderFromType(const QString& type) const;
QNetworkRequest getTileUrl(int id, int x, int y, int zoom,
QNetworkAccessManager* networkManager) const;
QNetworkRequest getTileUrl(const QString& type, int x, int y, int zoom,
QNetworkAccessManager* networkManager) const;
QString getImageFormat(QString type, const QByteArray& image);
QString getImageFormat(int id, const QByteArray& image);
bool isElevation(int mapId);
private:
QList<ProviderPair> m_providerList;
QMap<QString, QString> m_providerNameList;
};