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/timapprovider.h

46 lines
1.6 KiB
C

#pragma once
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QObject>
#include <private/qgeomaptype_p.h>
class TiMapProvider : public QObject
{
Q_OBJECT
public:
TiMapProvider(const QString& imageFormat, const quint32 averageSize,
const QGeoMapType::MapStyle mapType = QGeoMapType::CustomMap,
QObject* parent = nullptr);
/**
* @brief getTileURL
* @return ,使
*/
virtual QNetworkRequest getTileURL(const int x, const int y, const int zoom,
QNetworkAccessManager* networkManager);
virtual void setToken(const QString& token) { Q_UNUSED(token) }
virtual bool isElevationProvider() const { return false; }
virtual bool isBingProvider() const { return false; }
QGeoMapType::MapStyle getMapStyle() const { return m_mapType; }
QString getImageFormat(const QByteArray& image) const;
enum { AVERAGE_TILE_SIZE = 13652 };
protected:
virtual QString getURL(const int x, const int y, const int zoom, QNetworkAccessManager* networkManager)
= 0;
QString tileXYToQuadKey(const int tileX, const int tileY, const int levelOfDetail) const;
int getServerNum(const int x, const int y, const int max) const;
protected:
QGeoMapType::MapStyle m_mapType;
QString m_referrer;
QString m_imageFormat;
quint32 m_averageSize;
QByteArray m_userAgent;
QString m_language;
};