| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This patch fixes a null pointer exception happening when the application
starts without network and then the network becomes available
Change-Id: Iedeacf8fb8f350dfa92c05c1d2e16f62199ca5fd
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During initialization, this patch makes sure that the cached
tiles belong to the provider currently in use by using the file
lastModified() value and comparing it against the (optional)
Timestamp in the provider records.
If this value is not present in the provider record, or if it
is older than the newest modified file, the data is untouched.
This operation is performed separately for each map id.
This method isn't perfect in all use cases, though.
E.g., if we are forced to shut down one of the provider
and run on the hardcoded fallback, which has an older TS.
These are however rare edge cases that most likely won't
happen in practice (in the case above we could put the
content of the hardcoded provider in the remote json
files too)
Change-Id: Ie29cf05c1fbc835ce4e3363fc0caa38a97800214
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 fixes a bug introduced with the high-dpi support for osm,
that caused various types of malfunctioning with the osm plugin
Change-Id: I08e459059be4d8c99bd2d49b42c2502e0a5cef09
Reviewed-by: Alex Blasche <alexander.blasche@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>
|
|
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>
|