Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
geomapsource.cpp
Go to the documentation of this file.
1// Copyright (C) 2013-2018 Esri <contracts@esri.com>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include "geomapsource.h"
5
6#include <QUrl>
7
9
10static const QString kArcGISTileScheme(QStringLiteral("/tile/${z}/${y}/${x}"));
11
17
18static const MapStyleData mapStyles[] =
19{
20 { QStringLiteral("StreetMap"), QGeoMapType::StreetMap },
21 { QStringLiteral("SatelliteMapDay"), QGeoMapType::SatelliteMapDay },
22 { QStringLiteral("SatelliteMapNight"), QGeoMapType::SatelliteMapNight },
23 { QStringLiteral("TerrainMap"), QGeoMapType::TerrainMap },
24 { QStringLiteral("HybridMap"), QGeoMapType::HybridMap },
25 { QStringLiteral("TransitMap"), QGeoMapType::TransitMap },
26 { QStringLiteral("GrayStreetMap"), QGeoMapType::GrayStreetMap },
27 { QStringLiteral("PedestrianMap"), QGeoMapType::PedestrianMap },
28 { QStringLiteral("CarNavigationMap"), QGeoMapType::CarNavigationMap },
30};
31
33 const QString &description, bool mobile, bool night, int mapId,
34 const QString &url, const QString &copyright, const QGeoCameraCapabilities &cameraCapabilities) :
35 QGeoMapType(style, name, description, mobile, night, mapId, "esri", cameraCapabilities),
36 m_url(url), m_copyright(copyright)
37{
38}
39
41{
43
44 if (!format.contains(QLatin1String("${")))
46
47 format.replace(QLatin1String("${z}"), QLatin1String("%1"));
48 format.replace(QLatin1String("${x}"), QLatin1String("%2"));
49 format.replace(QLatin1String("${y}"), QLatin1String("%3"));
50 format.replace(QLatin1String("${token}"), QLatin1String("%4"));
51
52 return format;
53}
54
56{
57 for (const MapStyleData &mapStyle : mapStyles) {
58 if (styleString.compare(mapStyle.name, Qt::CaseInsensitive) == 0)
59 return mapStyle.style;
60 }
61
62 QGeoMapType::MapStyle style = static_cast<QGeoMapType::MapStyle>(styleString.toInt());
65
66 return style;
67}
68
GeoMapSource(QGeoMapType::MapStyle style, const QString &name, const QString &description, bool mobile, bool night, int mapId, const QString &url, const QString &copyright, const QGeoCameraCapabilities &cameraCapabilities)
const QString & url() const
static QGeoMapType::MapStyle mapStyle(const QString &styleString)
static QString toFormat(const QString &url)
QML_STRUCTURED_VALUEMapStyle style
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
int toInt(bool *ok=nullptr, int base=10) const
Returns the string converted to an int using base base, which is 10 by default and must be between 2 ...
Definition qstring.h:731
int compare(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const noexcept
Definition qstring.cpp:6664
static const MapStyleData mapStyles[]
static QT_BEGIN_NAMESPACE const QString kArcGISTileScheme(QStringLiteral("/tile/${z}/${y}/${x}"))
Combined button and popup list for selecting options.
@ CaseInsensitive
GLuint name
GLint GLsizei GLsizei GLenum format
QLatin1StringView QLatin1String
Definition qstringfwd.h:31
#define QStringLiteral(str)
QUrl url("example.com")
[constructor-url-reference]
QGeoMapType::MapStyle style