1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-04-21 04:39:10 +02:00
GPXSee/src/map/mapsource.h
Martin Tůma 97e12d809f Map API refactoring
Including several map providers refactoring/rewrite
especial KML, JNX and TrekBuddy atlases.
2023-05-04 09:38:35 +02:00

58 lines
1009 B
C++

#ifndef MAPSOURCE_H
#define MAPSOURCE_H
#include <QList>
#include "common/range.h"
#include "common/rectc.h"
#include "common/kv.h"
#include "common/downloader.h"
#include "coordinatesystem.h"
class Map;
class QXmlStreamReader;
class Projection;
class MapSource
{
public:
static Map *create(const QString &path, bool *isDir);
private:
enum Type {
OSM,
WMTS,
WMS,
TMS,
QuadTiles
};
struct Config {
Type type;
QString name;
QString url;
Range zooms;
RectC bounds;
QString layer;
QString style;
QString set;
QString format;
QString crs;
CoordinateSystem coordinateSystem;
bool rest;
QList<KV<QString, QString> > dimensions;
Authorization authorization;
qreal tileRatio;
int tileSize;
bool scalable;
Config();
};
static RectC bounds(QXmlStreamReader &reader);
static Range zooms(QXmlStreamReader &reader);
static void map(QXmlStreamReader &reader, Config &config);
static void tile(QXmlStreamReader &reader, Config &config);
};
#endif // MAPSOURCE_H