55 lines
1.0 KiB
C
55 lines
1.0 KiB
C
|
#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"};
|
|||
|
};
|
|||
|
|
|||
|
}
|