| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-84469
Change-Id: Iefd2fb627602ef4744d80858eee72a089ef5f4ec
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: Icbebfaae93cc5827d80ef09323ec82868789838a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now we have not honored the min/max zoom levels specified
in QGeoCameraCapabilities when requesting tiles.
As a result we have often fired requests for non-existing tile layers.
This change complements the added support for individual camera caps
for each map type, and makes the tile fetcher honor the bounds
defined in the camera capabilities.
This also allows to set larger zoom levels in the renderer, overzooming
existing tiles, without the fetcher firing requests for invalid
resources
Change-Id: Ic8a523a114147109f7ef8af3510a3ab78d06d714
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cache fixes the cache mixing problem that has been introduced
with the osm high dpi tiles support.
high dpi providers fall back to low dpi ones and ultimately
to hardcoded providers (also low dpi), and can also be enabled/disabled
via plugin parameter, thus leaving the cache for a given map id
dirty for the next run.
With this patch high dpi tiles are named differently from low dpi ones.
If high-dpi providers are selected, but become not available, the
cache can also change the tileset to load at runtime
Change-Id: I229692da07c1fc61c58fb0b6fae6ec5af16e43a7
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This patch prevents the tile fetcher from requesting tiles with a
z values that is outside the range defined in the provider record.
If the provider record does not specify these values, the default
values are used (0 and 20)
Change-Id: I5c3f7be8bbd2b2ce6c8c8d6d8d81431237e60f5b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a mean to enable/disable high dpi support for the
OSM plugin too, following the same approach taken for the mapbox and
here plugins.
In order to do so, it has been necessary to rework QGeoTileProviderOsm.
It can now be constructed with an arbitrary number of TileProviders,
as opposed to the previous approach with one primary and one fallback
tileprovider.
It has also been necessary to disable Nearest interpolation for high
dpi tiles, as it appears to produce considerable artifacts.
So in presence of highdpi tiles, Linear interpolation is now always
used.
Change-Id: Id7d20fd5a320f3d5ef41b9fa28447a5c4f5398be
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\
| |
| |
| | |
Change-Id: I4f29307985225a723304783e00a6844a1b9ee825
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Map types are currently fixed in the constructor, regardless of whether
they were available, or, now, whether they are enabled or not.
This patch makes the geomappingmanager notify (e.g., emit a signal)
when the available map types change at runtime. This is used in the
OSM mappingmanagerengine, which can now disable map types if provider
records turn out to be invalid or disabled after they have been
fetched.
Change-Id: I8e0e75504c882609f91c6d1ceb88424eee656f26
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\ \
| |/
| |
| | |
Change-Id: I37542960aa091ab2074914a2cebb8c5114237a26
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To prevent furter breakage of qtlocation osm provider
in existing qt versions, this patch introduces one
level of indirection in resolving OSM providers, fetching
the tile server address from files hosted at
http://maps-redirect.qt.io/osm/5.6/
The content of the files requested for the server
address resolution must be in JSON format, containing
(currently) the following fields:
{
"Enabled" : bool, (optional)
"UrlTemplate" : "<url template>", (mandatory)
"ImageFormat" : "<image format>", (mandatory)
"MapCopyRight" : "<copyright>", (mandatory)
"DataCopyRight" : "<copyright>", (mandatory)
"MinimumZoomLevel" : <minimumZoomLevel>, (optional)
"MaximumZoomLevel" : <maximumZoomLevel>, (optional)
}
Enabled is optional, and allows us to temporarily disable
tile providers if they go offline without firing requests
to them. Default is true.
MinimumZoomLevel and MaximumZoomLevel are also optional,
and allow us to prevent tile requests to the providers,
if they do not support the specific ZL. Default is 0 and
19, respectively.
<server address template> is required, and is the tile
url template, with %x, %y and %z as placeholders for the
actual parameters.
Example:
http://localhost:8080/maps/%z/%x/%y.png
<image format> is required, and is the format of the tile.
Example:
"png" or "jpg"
<MapCopyRight> is required and is the string that will be
displayed in the "Map (c)" part of the on-screen copyright
notice.
example:
"<a href='http://www.mapquest.com/'>MapQuest</a>"
<DataCopyRight> is required and is the string that will be
displayed in the "Data (c)" part of the on-screen copyright
notice.
example:
"a href=
'http://www.openstreetmap.org/copyright'>OpenStreetMap</a>
contributors"
The patch also adds four additional OSM plugin parameters,
modifies an existing ones, and removes another existing one.
Removed:
- osm.mapping.copyright, now removed and replaced by two
other parameters (see below).
New:
- osm.mapping.providersrepository.address, allowing to change
the hardcoded http://maps-redirect.qt.io/osm/5.6/
The implication of this parameter is that it becomes possible
to use file:// urls or even qrc:, allowing to ship custom
providers with the applicarions
- osm.mapping.providersrepository.disabled, allowing to disable
the indirection and go with hardcoded URLs by default.
- osm.mapping.custom.mapcopyright replaces the old
osm.mapping.copyright, and contains the copyright notice to be
displayed next to the "Map (c)" part of the copyright, to be
consistent with the way the copyright notice coming from the
provider data is handled
- osm.mapping.custom.datacopyright replaces the old
osm.mapping.copyright, and contains the copyright notice to be
displayed next to the "Data (c)" part of the copyright, to be
consistent with the way the copyright notice coming from the
provider data is handled
Modified:
- osm.mapping.host now became osm.mapping.custom.host,
improving the naming consistency.
Task-number: QTBUG-54599
Change-Id: Iee88883572a198c00bcf54cf2bc33fbcc0498a68
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|/
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: Iaee1a5fd53291752a1891710ee375ca32778b142
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MapQuest servers use JPEG, not PNG. The disk cache, unlike the memory
one, passed in the extension as the format to loadFromData(). This failed
for JPEG files with an extension of .png.
In addition, using split('.')[1] to determine the file extension is bogus.
On Linux for example, a directory of "$HOME/.cache/QtLocation/..." results
in putting "cache/..." into format which is then conveniently ignored by
QImageReader. On OS X however there is no dot, so it "correctly" picks
"png" for the JPEG data, hence the console is flooded with warnings about
failed tile loading.
On top of the above, the disk cache is made more robust by not relying on the
format string. As long as only formats supported by QImageReader are in use,
it can recognize the correct format from the data. (the memory cache does this
already anyway)
Change-Id: I90ece5bd157d457afa0025527c84070427a60313
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This enables the usage of various mapping services which use the OSM
API for tile distribution. One only needs to set the urlprefix
parameter to a correct url and the activeMapType to the "Custom URL
Map".
Task-number: QTBUG-32937
Change-Id: Ib24da19dc598ccc288047ce2651e6c1792ae2054
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Idf94d346f90531f1453cff154f909d8fc64ab58c
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ia1e333be7fec8898de609d9b9303b1ad7687632e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In addition to the existing MapQuest tile set make the ThunderForest
tile set also available as additional supported map types.
This change adds the following map types to the OSM plugin:
StreetMap - from MapQuest
SatelliteMapDay - from MapQueset
CycleMap - from ThunderForest
TransitMap (day) - from ThunderForest
TransitMap (night) - from ThunderForest
TerrainMap - from ThunderForest
PedestrianMap - from ThunderForeset
Change-Id: I663b275689ee55929d0afa7da20ed3c57c78e037
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3 & LICENSE.GPLv2
- Removed LICENSE.GPL
Change-Id: Iedee2507ab1bd46788409a98505d7be510253110
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QPointer holds a guarded pointer to a QObject. It must always be tested
prior to use.
Changed the parameter type to remove the need for the static_cast when
setting the QPointer member.
The root cause was that the tile fetcher object was not being destroyed
when the mapping manager engine was. Which was because the two objects
were in different threads. Some of the service specific tile fetchers
were directly calling into the engine objects across thread. Gah.
Since Qt 5 QNAM uses an application global thread for processing
requests, there is no need to use threads in the tile fetcher.
Change-Id: Id9df35ddfa78df2cbf334006fe5fc9726a75f92d
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The official OSM tile server should not be used in applications.
MapQuest is free and also allows to display a satellite map (which
unfortunately only goes to zoomLevel 10).
More info:
http://wiki.openstreetmap.org/wiki/Tile_usage_policy
Change-Id: Ia5e0d2c99ea4d8f3989f8460c778bf748c5b68b5
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
|
|
A geo services plugin for Open Street Maps.
Plugin currently only supports fetching online map tiles.
Change-Id: I2a80633554d4049872fc58e48ff6b273dc1ea688
Reviewed-by: Alex <ablasche@gmail.com>
|