RasterProcessTool/RasterMainWidgetGUI/RasterMainWidget/tmslayer.h

71 lines
1.6 KiB
C
Raw Normal View History

2025-02-07 09:16:22 +00:00
#pragma once
#include <QString>
#include <QRectF>
#include <maplayer.h>
#include <mapcanvas.h>
#include <webmercator.h>
#include <tmsproviderfactory.h>
2025-02-07 09:16:22 +00:00
namespace LAMPMainWidget
{
/**
* tms
*/
class TmsLayer : public MapLayer
{
public:
TmsLayer(TmsProviders provider,
const QString& id,
MapCanvas* mapCanvas,
CRS* crs = new WebMercator{});
public:
/**
* zoom
* @return
*/
double resolution() const override;
/**
*
* @return
*/
QRectF extent() const override;
/**
* zoom
* @param zoom zoom
*/
void setZoomValue(int zoom) override;
/**
* rectzoomurl
* tiles
* @param rect
* @param zoom zoom
* @param tiles
* @param size
* @return
*/
bool parseTiles(const QRectF& rect, int zoom, QHash<QPoint, QString>& tiles, QSize& size) const;
/**
* zoom
* @return zoom
*/
virtual int maxZoom() const { return kMaxZoom; }
/**
* zoom
* @return zoom
*/
virtual int minZoom() const { return kMinZoom; }
private:
static const int kMinZoom{4};
static const int kMaxZoom{18};
};
}