7#include <QtNetwork/QNetworkAccessManager>
8#include <QtNetwork/QNetworkRequest>
9#include <QtLocation/private/qgeotilespec_p.h>
10#include <QtLocation/private/qgeotilefetcher_p_p.h>
18 if (!provider->isResolved())
45 m_userAgent(
"Qt Location based application"),
46 m_providers(providers),
52 if (!provider->isResolved()) {
60 provider->resolveProvider();
69 m_userAgent = userAgent;
76 if (!provider->isResolved())
77 provider->resolveProvider();
85 qWarning(
"QGeoTileFetcherOsm: all providers resolved");
94 qWarning(
"QGeoTileFetcherOsm: all providers resolved");
104 if (!
d->queue_.isEmpty())
105 d->timer_.start(0,
this);
110 int id = spec.
mapId();
111 if (id < 1 || id > m_providers.
size()) {
120 if (spec.
zoom() > m_providers[
id]->maximumZoomLevel() || spec.
zoom() < m_providers[
id]->minimumZoomLevel())
123 const QUrl url = m_providers[
id]->tileAddress(spec.
x(), spec.
y(), spec.
zoom());
131void QGeoTileFetcherOsm::readyUpdated()
virtual ~QGeoTileFetcherOsmPrivate()
QGeoTileFetcherOsmPrivate()
bool initialized() const override
void providerDataUpdated(const QGeoTileProviderOsm *provider)
void onProviderResolutionError(const QGeoTileProviderOsm *provider)
friend class QGeoMapReplyOsm
QGeoTiledMapReply * getTileImage(const QGeoTileSpec &spec) override
void setUserAgent(const QByteArray &userAgent)
QGeoTileFetcherOsm(const QList< QGeoTileProviderOsm * > &providers, QNetworkAccessManager *nm, QGeoMappingManagerEngine *parent)
void onProviderResolutionFinished(const QGeoTileProviderOsm *provider)
void updateTileRequests(const QSet< QGeoTileSpec > &tilesAdded, const QSet< QGeoTileSpec > &tilesRemoved)
void resolutionRequired()
void resolutionFinished(const QGeoTileProviderOsm *provider)
void resolutionError(const QGeoTileProviderOsm *provider)
qsizetype size() const noexcept
bool isEmpty() const noexcept
The QNetworkAccessManager class allows the application to send network requests and receive replies.
QNetworkReply * get(const QNetworkRequest &request)
Posts a request to obtain the contents of the target request and returns a new QNetworkReply object o...
The QNetworkReply class contains the data and headers for a request sent with QNetworkAccessManager.
The QNetworkRequest class holds a request to be sent with QNetworkAccessManager.
void setHeader(KnownHeaders header, const QVariant &value)
Sets the value of the known header header to be value, overriding any previously set headers.
void setUrl(const QUrl &url)
Sets the URL this network request is referring to be url.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
void setParent(QObject *parent)
Makes the object a child of parent.
Combined button and popup list for selecting options.
static QT_BEGIN_NAMESPACE bool providersResolved(const QList< QGeoTileProviderOsm * > &providers)
GLint GLsizei GLsizei GLenum format
QUrl url("example.com")
[constructor-url-reference]
QNetworkRequest request(url)