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

89 lines
2.5 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**************************************************************************
* 文件名 tibingmapprovider.h
* =======================================================================
* 创 建 者 :田小帆
* 创建日期 2021-8-31
* 邮 箱 499131808@qq.com
* Q Q 499131808
* 公 司
* 功能描述
*
* ======================================================================
* 修改者
* 修改日期
* 修改内容
* ======================================================================
*
***************************************************************************/
#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;
};