Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qgeotileproviderosm.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QTILEPROVIDEROSM_H
6
#
define
QTILEPROVIDEROSM_H
7
8
#
include
<
QtLocation
/
private
/
qgeomaptype_p
.
h
>
9
#
include
<
QtLocation
/
private
/
qgeocameracapabilities_p
.
h
>
10
#
include
<
QtCore
/
QUrl
>
11
#
include
<
QtCore
/
QList
>
12
#
include
<
QtNetwork
/
QNetworkAccessManager
>
13
#
include
<
QtNetwork
/
QNetworkReply
>
14
#
include
<
QtCore
/
QPointer
>
15
#
include
<
QTimer
>
16
#
include
<
algorithm
>
17
#
include
<
QtCore
/
QJsonDocument
>
18
#
include
<
QtCore
/
QJsonObject
>
19
#
include
<
QDateTime
>
20
21
QT_BEGIN_NAMESPACE
22
23
class
TileProvider:
public
QObject
24
{
25
Q_OBJECT
26
public
:
27
enum
Status {Idle,
28
Resolving,
29
Valid,
30
Invalid };
31
32
TileProvider();
33
// "Online" constructor. Needs resolution to fetch the parameters
34
TileProvider(
const
QUrl &urlRedirector,
bool
highDpi =
false
);
35
// Offline constructor. Doesn't need URLRedirector and networkmanager
36
TileProvider(
const
QString &urlTemplate,
37
const
QString &format,
38
const
QString ©RightMap,
39
const
QString ©RightData,
40
bool
highDpi =
false
,
41
int
minimumZoomLevel = 0,
42
int
maximumZoomLevel = 19);
43
44
~TileProvider();
45
void
setNetworkManager(QNetworkAccessManager *nm);
46
47
void
resolveProvider();
48
void
handleError(QNetworkReply::NetworkError error);
49
void
setupProvider();
50
51
inline
bool
isValid()
const
;
52
inline
bool
isInvalid()
const
;
53
inline
bool
isResolved()
const
;
54
inline
Status status()
const
;
55
56
inline
QString mapCopyRight()
const
;
57
inline
QString dataCopyRight()
const
;
58
inline
QString styleCopyRight()
const
;
59
inline
QString format()
const
;
60
inline
int
minimumZoomLevel()
const
;
61
inline
int
maximumZoomLevel()
const
;
62
inline
const
QDateTime ×tamp()
const
;
63
inline
bool
isHighDpi()
const
;
64
inline
bool
isHTTPS()
const
;
65
QUrl tileAddress(
int
x,
int
y,
int
z)
const
;
66
67
// Optional properties, not needed to construct a provider
68
void
setStyleCopyRight(
const
QString ©right);
69
void
setTimestamp(
const
QDateTime ×tamp);
70
71
Status m_status;
72
QUrl m_urlRedirector;
// The URL from where to fetch the URL template in case of a provider to resolve.
73
QNetworkAccessManager *m_nm;
74
QString m_urlTemplate;
75
QString m_format;
76
QString m_copyRightMap;
77
QString m_copyRightData;
78
QString m_copyRightStyle;
79
QString m_urlPrefix;
80
QString m_urlSuffix;
81
int
m_minimumZoomLevel;
82
int
m_maximumZoomLevel;
83
QDateTime m_timestamp;
84
bool
m_highDpi;
85
86
int
paramsLUT[3];
//Lookup table to handle possibly shuffled x,y,z
87
QString paramsSep[2];
// what goes in between %x, %y and %z
88
89
Q_SIGNALS:
90
void
resolutionFinished(TileProvider *provider);
91
void
resolutionError(TileProvider *provider);
92
93
public
Q_SLOTS:
94
void
onNetworkReplyFinished();
95
void
onNetworkReplyError(QNetworkReply::NetworkError error);
96
97
friend
class
QGeoTileProviderOsm;
98
};
99
100
class
QGeoTileProviderOsm
:
public
QObject
101
{
102
Q_OBJECT
103
104
friend
class
QGeoTileFetcherOsm
;
105
friend
class
QGeoMapReplyOsm;
106
friend
class
QGeoTiledMappingManagerEngineOsm
;
107
public
:
108
enum
Status
{
Idle
,
109
Resolving
,
110
Resolved
};
111
112
QGeoTileProviderOsm
(QNetworkAccessManager *nm,
const
QGeoMapType &mapType,
113
const
QList<TileProvider *> &providers,
114
const
QGeoCameraCapabilities &cameraCapabilities);
115
~
QGeoTileProviderOsm
();
116
117
QUrl
tileAddress
(
int
x,
int
y,
int
z)
const
;
118
QString
mapCopyRight
()
const
;
119
QString
dataCopyRight
()
const
;
120
QString
styleCopyRight
()
const
;
121
QString
format
()
const
;
122
int
minimumZoomLevel
()
const
;
123
int
maximumZoomLevel
()
const
;
124
bool
isHighDpi
()
const
;
125
const
QGeoMapType
&
mapType
()
const
;
126
bool
isValid
()
const
;
127
bool
isResolved
()
const
;
128
QDateTime
timestamp
()
const
;
129
QGeoCameraCapabilities
cameraCapabilities
()
const
;
130
131
Q_SIGNALS
:
132
void
resolutionFinished
(
const
QGeoTileProviderOsm
*
provider
);
133
void
resolutionError
(
const
QGeoTileProviderOsm
*provider);
134
void
resolutionRequired
();
135
136
public
Q_SLOTS
:
137
void
resolveProvider
();
138
void
disableRedirection
();
139
140
protected
Q_SLOTS
:
141
void
onResolutionFinished
(
TileProvider
*
provider
);
142
void
onResolutionError
(TileProvider *provider);
143
void
updateCameraCapabilities
();
144
145
protected
:
146
void
addProvider
(TileProvider *provider);
147
148
/* Data members */
149
150
QNetworkAccessManager
*
m_nm
;
151
QList
<
TileProvider
*>
m_providerList
;
152
TileProvider *
m_provider
;
153
int
m_providerId
;
154
QGeoMapType
m_mapType
;
155
Status
m_status
;
156
QGeoCameraCapabilities
m_cameraCapabilities
;
157
};
158
159
QT_END_NAMESPACE
160
161
#
endif
// QTILEPROVIDEROSM_H
QGeoFileTileCacheOsm
Definition
qgeofiletilecacheosm.h:17
QGeoFileTileCacheOsm::m_offlineDirectory
QDir m_offlineDirectory
Definition
qgeofiletilecacheosm.h:45
QGeoFileTileCacheOsm::onProviderResolutionError
void onProviderResolutionError(const QGeoTileProviderOsm *provider, QNetworkReply::NetworkError error)
Definition
qgeofiletilecacheosm.cpp:72
QGeoFileTileCacheOsm::m_maxMapIdTimestamps
QList< QDateTime > m_maxMapIdTimestamps
Definition
qgeofiletilecacheosm.h:49
QGeoFileTileCacheOsm::getFromOfflineStorage
QSharedPointer< QGeoTileTexture > getFromOfflineStorage(const QGeoTileSpec &spec)
Definition
qgeofiletilecacheosm.cpp:115
QGeoFileTileCacheOsm::m_providers
QList< QGeoTileProviderOsm * > m_providers
Definition
qgeofiletilecacheosm.h:47
QGeoFileTileCacheOsm::tileSpecToFilename
QString tileSpecToFilename(const QGeoTileSpec &spec, const QString &format, const QString &directory) const override
Definition
qgeofiletilecacheosm.cpp:186
QGeoFileTileCacheOsm::init
void init() override
Definition
qgeofiletilecacheosm.cpp:79
QGeoFileTileCacheOsm::dropTiles
void dropTiles(int mapId)
Definition
qgeofiletilecacheosm.cpp:145
QGeoFileTileCacheOsm::filenameToTileSpec
QGeoTileSpec filenameToTileSpec(const QString &filename) const override
Definition
qgeofiletilecacheosm.cpp:221
QGeoFileTileCacheOsm::m_offlineData
bool m_offlineData
Definition
qgeofiletilecacheosm.h:46
QGeoFileTileCacheOsm::tileSpecToFilename
QString tileSpecToFilename(const QGeoTileSpec &spec, const QString &format, int providerId) const
Definition
qgeofiletilecacheosm.cpp:196
QGeoFileTileCacheOsm::loadTiles
void loadTiles(int mapId)
Definition
qgeofiletilecacheosm.cpp:169
QGeoFileTileCacheOsm::get
QSharedPointer< QGeoTileTexture > get(const QGeoTileSpec &spec) override
Definition
qgeofiletilecacheosm.cpp:40
QGeoFileTileCacheOsm::clearObsoleteTiles
void clearObsoleteTiles(const QGeoTileProviderOsm *p)
Definition
qgeofiletilecacheosm.cpp:269
QGeoFileTileCacheOsm::m_highDpi
QList< bool > m_highDpi
Definition
qgeofiletilecacheosm.h:48
QGeoFileTileCacheOsm::~QGeoFileTileCacheOsm
~QGeoFileTileCacheOsm()
Definition
qgeofiletilecacheosm.cpp:36
QGeoTileProviderOsm
Definition
qgeotileproviderosm.h:101
QGeoTileProviderOsm::isValid
bool isValid() const
Definition
qgeotileproviderosm.cpp:128
QGeoTileProviderOsm::QGeoTileProviderOsm
QGeoTileProviderOsm(QNetworkAccessManager *nm, const QGeoMapType &mapType, const QList< TileProvider * > &providers, const QGeoCameraCapabilities &cameraCapabilities)
Definition
qgeotileproviderosm.cpp:26
QGeoTileProviderOsm::m_nm
QNetworkAccessManager * m_nm
Definition
qgeotileproviderosm.h:150
QGeoTileProviderOsm::disableRedirection
void disableRedirection()
Definition
qgeotileproviderosm.cpp:152
QGeoTileProviderOsm::format
QString format() const
Definition
qgeotileproviderosm.cpp:83
QGeoTileProviderOsm::resolutionRequired
void resolutionRequired()
QGeoTileProviderOsm::dataCopyRight
QString dataCopyRight() const
Definition
qgeotileproviderosm.cpp:69
QGeoTileProviderOsm::mapType
const QGeoMapType & mapType() const
Definition
qgeotileproviderosm.cpp:123
QGeoTileProviderOsm::mapCopyRight
QString mapCopyRight() const
Definition
qgeotileproviderosm.cpp:62
QGeoTileProviderOsm::m_cameraCapabilities
QGeoCameraCapabilities m_cameraCapabilities
Definition
qgeotileproviderosm.h:156
QGeoTileProviderOsm::isHighDpi
bool isHighDpi() const
Definition
qgeotileproviderosm.cpp:104
QGeoTileProviderOsm::cameraCapabilities
QGeoCameraCapabilities cameraCapabilities() const
Definition
qgeotileproviderosm.cpp:118
QGeoTileProviderOsm::m_providerId
int m_providerId
Definition
qgeotileproviderosm.h:153
QGeoTileProviderOsm::timestamp
QDateTime timestamp() const
Definition
qgeotileproviderosm.cpp:111
QGeoTileProviderOsm::onResolutionError
void onResolutionError(TileProvider *provider)
Definition
qgeotileproviderosm.cpp:176
QGeoTileProviderOsm::updateCameraCapabilities
void updateCameraCapabilities()
Definition
qgeotileproviderosm.cpp:219
QGeoTileProviderOsm::maximumZoomLevel
int maximumZoomLevel() const
Definition
qgeotileproviderosm.cpp:97
QGeoTileProviderOsm::isResolved
bool isResolved() const
Definition
qgeotileproviderosm.cpp:135
QGeoTileProviderOsm::~QGeoTileProviderOsm
~QGeoTileProviderOsm()
Definition
qgeotileproviderosm.cpp:51
QGeoTileProviderOsm::Status
Status
Definition
qgeotileproviderosm.h:108
QGeoTileProviderOsm::Resolving
@ Resolving
Definition
qgeotileproviderosm.h:109
QGeoTileProviderOsm::Resolved
@ Resolved
Definition
qgeotileproviderosm.h:110
QGeoTileProviderOsm::Idle
@ Idle
Definition
qgeotileproviderosm.h:108
QGeoTileProviderOsm::m_providerList
QList< TileProvider * > m_providerList
Definition
qgeotileproviderosm.h:151
QGeoTileProviderOsm::addProvider
void addProvider(TileProvider *provider)
Definition
qgeotileproviderosm.cpp:233
QGeoTileProviderOsm::styleCopyRight
QString styleCopyRight() const
Definition
qgeotileproviderosm.cpp:76
QGeoTileProviderOsm::m_status
Status m_status
Definition
qgeotileproviderosm.h:155
QGeoTileProviderOsm::m_mapType
QGeoMapType m_mapType
Definition
qgeotileproviderosm.h:154
QGeoTileProviderOsm::resolutionError
void resolutionError(const QGeoTileProviderOsm *provider)
QGeoTileProviderOsm::m_provider
TileProvider * m_provider
Definition
qgeotileproviderosm.h:152
QGeoTileProviderOsm::minimumZoomLevel
int minimumZoomLevel() const
Definition
qgeotileproviderosm.cpp:90
QGeoTileProviderOsm::tileAddress
QUrl tileAddress(int x, int y, int z) const
Definition
qgeotileproviderosm.cpp:55
QGeoTiledMappingManagerEngineOsm
Definition
qgeotiledmappingmanagerengineosm.h:18
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtlocation
src
plugins
geoservices
osm
qgeotileproviderosm.h
Generated on
for Qt by
1.18.0