#pragma once #include "timapprovider.h" class TiBingMapProvider : public TiMapProvider { Q_OBJECT public: TiBingMapProvider(const QString& imageFormat, const quint32 averageSize, const QGeoMapType::MapStyle mapType, QObject* parent = nullptr); ~TiBingMapProvider() = default; protected: const QString _versionBingMaps = QStringLiteral("563"); }; static const quint32 AVERAGE_BING_STREET_MAP = 1297; static const quint32 AVERAGE_BING_SAT_MAP = 19597; // ----------------------------------------------------------- // Bing Road Map class TiBingRoadMapProvider : public TiBingMapProvider { Q_OBJECT public: TiBingRoadMapProvider(QObject* parent = nullptr) : TiBingMapProvider(QStringLiteral("png"), AVERAGE_BING_STREET_MAP, QGeoMapType::StreetMap, parent) { } QString getURL(const int x, const int y, const int zoom, QNetworkAccessManager* networkManager) override; }; // ----------------------------------------------------------- // Bing Satellite Map class TiBingSatelliteMapProvider : public TiBingMapProvider { Q_OBJECT public: TiBingSatelliteMapProvider(QObject* parent = nullptr) : TiBingMapProvider(QStringLiteral("jpg"), AVERAGE_BING_SAT_MAP, QGeoMapType::SatelliteMapDay, parent) { } QString getURL(const int x, const int y, const int zoom, QNetworkAccessManager* networkManager) override; }; // ----------------------------------------------------------- // Bing Hybrid Map class TiBingHybridMapProvider : public TiBingMapProvider { Q_OBJECT public: TiBingHybridMapProvider(QObject* parent = nullptr) : TiBingMapProvider(QStringLiteral("jpg"), AVERAGE_BING_SAT_MAP, QGeoMapType::HybridMap, parent) { } QString getURL(const int x, const int y, const int zoom, QNetworkAccessManager* networkManager) override; };