mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-11-24 11:45:53 +01:00
Map API cleanup
This commit is contained in:
parent
5547cf668e
commit
262ee5bb5f
@ -22,12 +22,12 @@ static bool resCmp(OfflineMap *m1, OfflineMap *m2)
|
||||
return r1 > r2;
|
||||
}
|
||||
|
||||
static bool xCmp(const OfflineMap *m1, const OfflineMap *m2)
|
||||
static bool xCmp(OfflineMap *m1, OfflineMap *m2)
|
||||
{
|
||||
return TL(m1).x() < TL(m2).x();
|
||||
}
|
||||
|
||||
static bool yCmp(const OfflineMap *m1, const OfflineMap *m2)
|
||||
static bool yCmp(OfflineMap *m1, OfflineMap *m2)
|
||||
{
|
||||
return TL(m1).y() > TL(m2).y();
|
||||
}
|
||||
@ -147,7 +147,7 @@ Atlas::Atlas(const QString &fileName, QObject *parent)
|
||||
_valid = true;
|
||||
}
|
||||
|
||||
QRectF Atlas::bounds() const
|
||||
QRectF Atlas::bounds()
|
||||
{
|
||||
QSizeF s(0, 0);
|
||||
|
||||
|
@ -13,9 +13,9 @@ class Atlas : public Map
|
||||
public:
|
||||
Atlas(const QString &fileName, QObject *parent = 0);
|
||||
|
||||
const QString &name() const {return _name;}
|
||||
QString name() const {return _name;}
|
||||
|
||||
QRectF bounds() const;
|
||||
QRectF bounds();
|
||||
|
||||
int zoom() const {return _zoom;}
|
||||
void setZoom(int zoom);
|
||||
|
@ -46,7 +46,7 @@ EmptyMap::EmptyMap(QObject *parent) : Map(parent)
|
||||
_zoom = ZOOM_MAX;
|
||||
}
|
||||
|
||||
QRectF EmptyMap::bounds() const
|
||||
QRectF EmptyMap::bounds()
|
||||
{
|
||||
return QRectF(ll2xy(Coordinates(-180, 85)), ll2xy(Coordinates(180, -85)));
|
||||
}
|
||||
@ -92,14 +92,14 @@ void EmptyMap::draw(QPainter *painter, const QRectF &rect, bool block)
|
||||
Q_UNUSED(block);
|
||||
}
|
||||
|
||||
QPointF EmptyMap::ll2xy(const Coordinates &c) const
|
||||
QPointF EmptyMap::ll2xy(const Coordinates &c)
|
||||
{
|
||||
qreal scale = zoom2scale(_zoom);
|
||||
QPointF m = ll2m(c);
|
||||
return QPointF(m.x() / scale, m.y() / -scale);
|
||||
}
|
||||
|
||||
Coordinates EmptyMap::xy2ll(const QPointF &p) const
|
||||
Coordinates EmptyMap::xy2ll(const QPointF &p)
|
||||
{
|
||||
qreal scale = zoom2scale(_zoom);
|
||||
return m2ll(QPointF(p.x() * scale, -p.y() * scale));
|
||||
|
@ -10,9 +10,9 @@ class EmptyMap : public Map
|
||||
public:
|
||||
EmptyMap(QObject *parent = 0);
|
||||
|
||||
const QString &name() const {return _name;}
|
||||
QString name() const {return QString();}
|
||||
|
||||
QRectF bounds() const;
|
||||
QRectF bounds();
|
||||
qreal resolution(const QRectF &rect);
|
||||
|
||||
int zoom() const {return _zoom;}
|
||||
@ -21,18 +21,12 @@ public:
|
||||
int zoomIn();
|
||||
int zoomOut();
|
||||
|
||||
QPointF ll2xy(const Coordinates &c)
|
||||
{return static_cast<const EmptyMap &>(*this).ll2xy(c);}
|
||||
Coordinates xy2ll(const QPointF &p)
|
||||
{return static_cast<const EmptyMap &>(*this).xy2ll(p);}
|
||||
QPointF ll2xy(const Coordinates &c);
|
||||
Coordinates xy2ll(const QPointF &p);
|
||||
|
||||
void draw(QPainter *painter, const QRectF &rect, bool block);
|
||||
|
||||
private:
|
||||
QPointF ll2xy(const Coordinates &c) const;
|
||||
Coordinates xy2ll(const QPointF &p) const;
|
||||
|
||||
QString _name;
|
||||
int _zoom;
|
||||
};
|
||||
|
||||
|
@ -158,7 +158,7 @@ Coordinates JNXMap::xy2ll(const QPointF &p)
|
||||
return Coordinates(pp.x(), pp.y());
|
||||
}
|
||||
|
||||
QRectF JNXMap::bounds() const
|
||||
QRectF JNXMap::bounds()
|
||||
{
|
||||
const Transform &t = _zooms.at(_zoom).transform;
|
||||
|
||||
|
@ -16,9 +16,9 @@ public:
|
||||
public:
|
||||
JNXMap(const QString &fileName, QObject *parent = 0);
|
||||
|
||||
const QString &name() const {return _name;}
|
||||
QString name() const {return _name;}
|
||||
|
||||
QRectF bounds() const;
|
||||
QRectF bounds();
|
||||
|
||||
int zoom() const {return _zoom;}
|
||||
void setZoom(int zoom) {_zoom = zoom;}
|
||||
|
@ -18,9 +18,9 @@ public:
|
||||
Map(QObject *parent = 0) : QObject(parent) {}
|
||||
virtual ~Map() {}
|
||||
|
||||
virtual const QString &name() const = 0;
|
||||
virtual QString name() const = 0;
|
||||
|
||||
virtual QRectF bounds() const = 0;
|
||||
virtual QRectF bounds() = 0;
|
||||
virtual qreal resolution(const QRectF &rect);
|
||||
|
||||
virtual int zoom() const = 0;
|
||||
|
@ -333,7 +333,7 @@ Coordinates OfflineMap::xy2ll(const QPointF &p)
|
||||
: _projection.xy2ll(_transform.img2proj(p));
|
||||
}
|
||||
|
||||
QRectF OfflineMap::bounds() const
|
||||
QRectF OfflineMap::bounds()
|
||||
{
|
||||
return _ozf
|
||||
? QRectF(QPointF(0, 0), _ozf->size(_zoom))
|
||||
|
@ -18,9 +18,9 @@ public:
|
||||
OfflineMap(const QString &fileName, Tar &tar, QObject *parent = 0);
|
||||
~OfflineMap();
|
||||
|
||||
const QString &name() const {return _name;}
|
||||
QString name() const {return _name;}
|
||||
|
||||
QRectF bounds() const;
|
||||
QRectF bounds();
|
||||
|
||||
int zoom() const {return _zoom;}
|
||||
void setZoom(int zoom) {_zoom = zoom;}
|
||||
|
@ -64,7 +64,7 @@ OnlineMap::OnlineMap(const QString &name, const QString &url,
|
||||
_valid = true;
|
||||
}
|
||||
|
||||
QRectF OnlineMap::bounds() const
|
||||
QRectF OnlineMap::bounds()
|
||||
{
|
||||
return QRectF(ll2xy(_bounds.topLeft()), ll2xy(_bounds.bottomRight()));
|
||||
}
|
||||
@ -141,14 +141,14 @@ void OnlineMap::draw(QPainter *painter, const QRectF &rect, bool block)
|
||||
}
|
||||
}
|
||||
|
||||
QPointF OnlineMap::ll2xy(const Coordinates &c) const
|
||||
QPointF OnlineMap::ll2xy(const Coordinates &c)
|
||||
{
|
||||
qreal scale = zoom2scale(_zoom);
|
||||
QPointF m = ll2m(c);
|
||||
return QPointF(m.x() / scale, m.y() / -scale);
|
||||
}
|
||||
|
||||
Coordinates OnlineMap::xy2ll(const QPointF &p) const
|
||||
Coordinates OnlineMap::xy2ll(const QPointF &p)
|
||||
{
|
||||
qreal scale = zoom2scale(_zoom);
|
||||
return m2ll(QPointF(p.x() * scale, -p.y() * scale));
|
||||
|
@ -15,9 +15,9 @@ public:
|
||||
const RectC &bounds, const Authorization &authorization,
|
||||
QObject *parent = 0);
|
||||
|
||||
const QString &name() const {return _name;}
|
||||
QString name() const {return _name;}
|
||||
|
||||
QRectF bounds() const;
|
||||
QRectF bounds();
|
||||
qreal resolution(const QRectF &rect);
|
||||
|
||||
int zoom() const {return _zoom;}
|
||||
@ -26,10 +26,8 @@ public:
|
||||
int zoomIn();
|
||||
int zoomOut();
|
||||
|
||||
QPointF ll2xy(const Coordinates &c)
|
||||
{return static_cast<const OnlineMap &>(*this).ll2xy(c);}
|
||||
Coordinates xy2ll(const QPointF &p)
|
||||
{return static_cast<const OnlineMap &>(*this).xy2ll(p);}
|
||||
QPointF ll2xy(const Coordinates &c);
|
||||
Coordinates xy2ll(const QPointF &p);
|
||||
|
||||
void draw(QPainter *painter, const QRectF &rect, bool block);
|
||||
|
||||
@ -39,8 +37,6 @@ public:
|
||||
QString errorString() const {return _errorString;}
|
||||
|
||||
private:
|
||||
QPointF ll2xy(const Coordinates &c) const;
|
||||
Coordinates xy2ll(const QPointF &p) const;
|
||||
int limitZoom(int zoom) const;
|
||||
|
||||
TileLoader *_tileLoader;
|
||||
|
@ -127,7 +127,7 @@ void WMSMap::clearCache()
|
||||
qWarning("%s: %s\n", qPrintable(_name), qPrintable(_errorString));
|
||||
}
|
||||
|
||||
QRectF WMSMap::bounds() const
|
||||
QRectF WMSMap::bounds()
|
||||
{
|
||||
return QRectF(_transform.proj2img(_bbox.topLeft()),
|
||||
_transform.proj2img(_bbox.bottomRight()));
|
||||
|
@ -16,9 +16,9 @@ class WMSMap : public Map
|
||||
public:
|
||||
WMSMap(const QString &name, const WMS::Setup &setup, QObject *parent = 0);
|
||||
|
||||
const QString &name() const {return _name;}
|
||||
QString name() const {return _name;}
|
||||
|
||||
QRectF bounds() const;
|
||||
QRectF bounds();
|
||||
|
||||
int zoom() const {return _zoom;}
|
||||
void setZoom(int zoom);
|
||||
|
@ -91,7 +91,7 @@ void WMTSMap::updateTransform()
|
||||
_transform = Transform(tl, br);
|
||||
}
|
||||
|
||||
QRectF WMTSMap::bounds() const
|
||||
QRectF WMTSMap::bounds()
|
||||
{
|
||||
const WMTS::Zoom &z = _zooms.at(_zoom);
|
||||
QRectF tileBounds, bounds;
|
||||
@ -179,12 +179,12 @@ void WMTSMap::draw(QPainter *painter, const QRectF &rect, bool block)
|
||||
}
|
||||
}
|
||||
|
||||
QPointF WMTSMap::ll2xy(const Coordinates &c) const
|
||||
QPointF WMTSMap::ll2xy(const Coordinates &c)
|
||||
{
|
||||
return _transform.proj2img(_projection.ll2xy(c));
|
||||
}
|
||||
|
||||
Coordinates WMTSMap::xy2ll(const QPointF &p) const
|
||||
Coordinates WMTSMap::xy2ll(const QPointF &p)
|
||||
{
|
||||
return _projection.xy2ll(_transform.img2proj(p));
|
||||
}
|
||||
|
@ -15,9 +15,9 @@ class WMTSMap : public Map
|
||||
public:
|
||||
WMTSMap(const QString &name, const WMTS::Setup &setup, QObject *parent = 0);
|
||||
|
||||
const QString &name() const {return _name;}
|
||||
QString name() const {return _name;}
|
||||
|
||||
QRectF bounds() const;
|
||||
QRectF bounds();
|
||||
|
||||
int zoom() const {return _zoom;}
|
||||
void setZoom(int zoom);
|
||||
@ -25,10 +25,8 @@ public:
|
||||
int zoomIn();
|
||||
int zoomOut();
|
||||
|
||||
QPointF ll2xy(const Coordinates &c)
|
||||
{return static_cast<const WMTSMap &>(*this).ll2xy(c);}
|
||||
Coordinates xy2ll(const QPointF &p)
|
||||
{return static_cast<const WMTSMap &>(*this).xy2ll(p);}
|
||||
QPointF ll2xy(const Coordinates &c);
|
||||
Coordinates xy2ll(const QPointF &p);
|
||||
|
||||
void draw(QPainter *painter, const QRectF &rect, bool block);
|
||||
|
||||
@ -43,9 +41,6 @@ private:
|
||||
QString tilesDir() const;
|
||||
void updateTransform();
|
||||
|
||||
QPointF ll2xy(const Coordinates &c) const;
|
||||
Coordinates xy2ll(const QPointF &p) const;
|
||||
|
||||
QString _name;
|
||||
WMTS::Setup _setup;
|
||||
TileLoader *_tileLoader;
|
||||
|
Loading…
Reference in New Issue
Block a user