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
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
8
QT_BEGIN_NAMESPACE
9
10
static
const
QString
kArcGISTileScheme
(QStringLiteral(
"/tile/${z}/${y}/${x}"
));
11
12
struct
MapStyleData
13
{
14
QString
name
;
15
QGeoMapType
::
MapStyle
style
;
16
};
17
18
static
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 },
29
{ QStringLiteral(
"CustomMap"
), QGeoMapType::CustomMap }
30
};
31
32
GeoMapSource::GeoMapSource(QGeoMapType::MapStyle style,
const
QString &name,
33
const
QString &description,
bool
mobile,
bool
night,
int
mapId,
34
const
QString &url,
const
QString ©right,
const
QGeoCameraCapabilities &cameraCapabilities) :
35
QGeoMapType(style, name, description, mobile, night, mapId,
"esri"
, cameraCapabilities),
36
m_url(url), m_copyright(copyright)
37
{
38
}
39
40
QString GeoMapSource::toFormat(
const
QString &url)
41
{
42
QString format = url;
43
44
if
(!format.contains(QLatin1String(
"${"
)))
45
format += kArcGISTileScheme;
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
55
QGeoMapType::MapStyle GeoMapSource::mapStyle(
const
QString &styleString)
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());
63
if
(style <= QGeoMapType::NoMap)
64
style = QGeoMapType::CustomMap;
65
66
return
style;
67
}
68
69
QT_END_NAMESPACE
kArcGISTileScheme
static QT_BEGIN_NAMESPACE const QString kArcGISTileScheme(QStringLiteral("/tile/${z}/${y}/${x}"))
mapStyles
static const MapStyleData mapStyles[]
Definition
geomapsource.cpp:18
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
MapStyleData
Definition
geomapsource.cpp:13
MapStyleData::name
QString name
Definition
geomapsource.cpp:14
MapStyleData::style
QGeoMapType::MapStyle style
Definition
geomapsource.cpp:15
qtlocation
src
plugins
geoservices
esri
geomapsource.cpp
Generated on
for Qt by
1.18.0