00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef MAPADAPTER_H
00027 #define MAPADAPTER_H
00028
00029 #include <QObject>
00030 #include <QSize>
00031 #include <QPoint>
00032 #include <QPointF>
00033 #include <QLocale>
00034 #include <QDebug>
00035 #include <cmath>
00036
00037 namespace qmapcontrol
00038 {
00040
00054 class MapAdapter : public QObject
00055 {
00056 friend class Layer;
00057
00058 Q_OBJECT
00059
00060 public:
00061 virtual ~MapAdapter();
00062
00064
00067 QString host() const;
00068
00070
00073 int tilesize() const;
00074
00076
00079 int minZoom() const;
00080
00082
00085 int maxZoom() const;
00086
00088
00091 int currentZoom() const;
00092
00093 virtual int adaptedZoom()const;
00094
00096
00102 virtual QPoint coordinateToDisplay(const QPointF& coordinate) const = 0;
00103
00105
00111 virtual QPointF displayToCoordinate(const QPoint& point) const = 0;
00112
00113 protected:
00114 MapAdapter(const QString& host, const QString& serverPath, int tilesize, int minZoom = 0, int maxZoom = 0);
00115 virtual void zoom_in() = 0;
00116 virtual void zoom_out() = 0;
00117 virtual bool isValid(int x, int y, int z) const = 0;
00118 virtual QString query(int x, int y, int z) const = 0;
00119
00120 QSize size;
00121 QString myhost;
00122 QString serverPath;
00123 int mytilesize;
00124 int min_zoom;
00125 int max_zoom;
00126 int current_zoom;
00127
00128 int param1;
00129 int param2;
00130 int param3;
00131 int param4;
00132 int param5;
00133 int param6;
00134
00135 QString sub1;
00136 QString sub2;
00137 QString sub3;
00138 QString sub4;
00139 QString sub5;
00140 QString sub6;
00141
00142 int order[3][2];
00143
00144 int middle_x;
00145 int middle_y;
00146
00147 qreal numberOfTiles;
00148 QLocale loc;
00149 };
00150 }
00151 #endif