RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/ostnormalprovider.h

55 lines
1.0 KiB
C++
Raw Permalink Blame History

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.

#pragma once
#include <QtCore/QSize>
#include <pointxy.h>
#include <tmsprovider.h>
#include <LAMPMainWidget.h>
namespace LAMPMainWidget {
/**
* OpenStreetMap基础地图
*/
class OSTNormalProvider : public TmsProvider {
Q_OBJECT
public:
explicit OSTNormalProvider(QObject *parent= nullptr);
~OSTNormalProvider() override = default;
public:
/**
* 获取瓦片的大小
* @return 瓦片大小一般为256*256
*/
const QSize tileSize() const override {
return QSize{256, 256};
}
/**
* 获取openstreetmap的瓦片服务器编号
* @return
*/
char server() const { return static_cast<char>('a' + randomInt(0, 3)); }
/**
* 获取瓦片url路径
* @param pos 瓦片位置
* @param zoom zoom值
* @return 瓦片url失败时为空字符串
*/
QString tileUrl(const PointXY &pos, int zoom) const override;
/**
* 获取opensteet地图id
* @return opensteet地图id
*/
const QString& id() const override{return mId;}
private:
const QString mId{"ostnormalmap"};
};
}