| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Explicitly call Q_INIT_RESOURCE, otherwise the resources are not
found and the plugins using resources are broken when building
Qt with -static.
This patch also adds a prefix to these resources to avoid collision,
since they are very generic like "logo.png" or "maps.json".
Task-number: QTBUG-60007
Change-Id: Ifb73e9b97af107f2e24f5478f3de534bbd40e158
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
|
|
|
|
|
|
|
| |
Apparently these maps support only 250ppi or more.
Task-number: QTBUG-60545
Change-Id: Iadb59c4f034cbfd94a825048358583f3a978315f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a QByteArray member to QGeoMapType with the name of
the plugin providing that map type.
This value is then used to validate what is passed to
QDeclarativeGeoMap::setActiveMapType to see if it's a map type for the
currently set plugin.
Change-Id: If15b67c32150f0c3c2815d28e26fc37138d4cf71
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch moves the lower/upper bound check on setZoom from
QDeclarativeGeoMap to the gesture area, allowing to set higher zoom
levels than the maximumZoomLevel when setting Map.zoomLevel directly,
for the map types that support overzoom.
This is now safe as the bound check is introduced in the tile fetcher,
so no invalid tiles will be requested, and is beneficial when
combining layers supporting different maximum zoom levels.
Change-Id: I08ee9c282ee2ebc1dafa3c68a238b93ffbc1ba02
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
| |
Change-Id: I18fc1788f7af0efe76f97257ffe739eb1a96e6cc
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/plugins/geoservices/nokia/qgeotiledmappingmanagerengine_nokia.cpp
Change-Id: I2428d360c07b55ec5ee61f81c6f97b3d7b20f363
|
| |
| |
| |
| |
| |
| |
| | |
Apparently HERE does not support ZL 0 and 20 when using 512x512 tiles
Change-Id: Ic52f98648243ce866646d921e3fc70b494fed62c
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Mapbox GL plugin defines a logo image on the copyright notice
that needs styling in order to have an appealing look and feel.
The default style is empty, so we need to fetch one for the plugin
to make this work.
Task-number: QTBUG-58601
Change-Id: Ib3f7d7d7fcb2797c6381fc862ce7513b516c9ff5
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds rotation and tilting support to QGeoTiledMapScene
and QGeoCameraTiles.
It also adds the related capabilities to the geoservice plugins
mapping managers
QML Api is added in a separate patch
Change-Id: I3de1b52a9928c4856f6ee57ad39191acebe0f770
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGeoProjection is currently a class containing only static methods for
WebMercator conversion/interpolation.
This patch renames it to QWebMercator, effectively freeing the
QGeoProjection name for a real projection class
Change-Id: I15b71d04f7d1d21a1d26f46687ed33aa277f6deb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/location/qdeclarativegeomap.cpp
src/location/maps/maps.pri
src/location/maps/qgeomap_p_p.h
src/plugins/geoservices/nokia/qgeocodereply_nokia.cpp
src/plugins/geoservices/osm/qgeoroutereplyosm.cpp
Change-Id: I18d31cff9233648178fe3e2636ce294026dfaeb7
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
Change-Id: I44fd4bd47f97acd7ca5a0bdb235a701a59497528
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I49b1b3fc94819b5a7f2fd1ab2481a1d8ea41586b
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The old Nokia URL endpoints are being deprecated. This commit
updates the "nokia" plugin to use the modern HERE API endpoints.
It also removes the (now nonexistent) China-specific URLs.
Change-Id: Ieaf75cef1538d0ebb6a22623fc041ab504cf491f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This patch adds the possibility to change the cost strategy on
all the geoservice plugins
Change-Id: I0903d931ea228cc468216780fb87b466bc383063
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The current name of this method generate confusion, as what it does
is changing the size of the final element in the application, and not
the actual map size.
This patch renames this method to changeDisplaySize
It also renames QGeoMap::setSize to setViewportSize,
as well as ::size to viewportSize , width to viewportWidth
and height to viewportHeight, to make everything consistent and
self-explanatory.
Finally it also renames minimumZoomAtMapSize to
minimumZoomAtViewportSize.
Change-Id: I7c1ca8bb3ca3d6f6b0fe6fc881b9300db7110527
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch tries to simplify the code removing the contained m_reply
from all the Geo[Map,Route,Geocode,Places]Reply classes.
The need for m_reply was associated to the "abort" method, but this
can be solved by emitting a signal in the superclass abort() method,
and connecting that to QNetworkReply::abort() in the constructor.
Since QNetworkReplyHttpImpl always sends an OperationCanceledError
it should then be safe to call deleteLater() on the network reply
in the slot connected to QNetworkReply::error
This patch also prevents the series of
"QCoreApplication::postEvent: Unexpected null receiver" warnings
that are generated due to deletingLater already deleted objects
(abort() emits an error, the reply is destroyed inside the
onError slot, but also in the abort() method).
Finally, this patch removes the setFinished() call in
QGeoRouteReply::abort() since the documentation does not mention
this, and all the subclasses do not perform this operation and
emit the corresponding signal.
tst_qgeoroutereply has been adapted accordingly.
Change-Id: I226ee163e7bed784dd7f0da1522e651459543bca
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/declarative_ui/BLACKLIST
Change-Id: I0f6c9228c899c4d1d55fffc596c661ee0f6c2b66
|
| |\ \
| | |/
| | |
| | | |
Change-Id: I0880e4aa40fbf9fe0bb639f7fd77a52044e91a6e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch updates the routing base address from the old @nokia.com
address to the current @here.com one
Change-Id: Ibd8cb1671776cfad57484328d1e636a7ac190ebe
Task-number: QTBUG-56099
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since HighDPI tiles are currently causing severe performance penalties
on mobile devices (at least iOS devices), this patch sets the default
mode to highdpi = false.
Change-Id: I2f99e3955ecccd905e8962d005421d1b5276ea84
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was done to detect a Chinese network operator. In such cases a
different places and geocoding manager is required which takes into
account the shifting of map coordinates.
This requirement still exists in China but QtSystemInfo is not even a
released API. It makes no sense to keep the depending symbols around.
QGeoUriProvider will remain though in case Chinese customers
may want to adjust this behavior.
Change-Id: I5ee0edbf00cd561923457b449c5c9de675aa41d1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch changes the base cache directory to a new scheme containing
the qt version. At the time of commit, this would be
"QtLocation/5.8/tiles/"
This versioning does not have to change at every release, but when there
are changes in the caching scheme.
The reason for this is that, otherwise, it becomes difficult to clean
up old cache data.
QGeoFileTileCache::init already clean up old tile cache from 5.4 or
older, where the cache data wasn't organized under a directory for
each plugin.
In 5.8 different naming scheme are introduced for mapbox tiles
(with @1x,@2x) , here maps (with ppi), and soon for OSM too (with an
identifier for the actual provider, not only the mapId).
With this patch it will become easier and cleaner to upgrade the
cache data without leaving residues.
Change-Id: I89aeac0aaf1408d119cde5792fc69a64d5d89c3a
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch uses separate filenames for tiles
downloaded at different resolutions/dpi.
For the HERE plugin, the dpi is appeneded
to the filename.
For the mapbox plugin, @1x or @2x is used
due to the different approach to High DPI
tiles.
Change-Id: I0dcda088dae84e98c0e73bdc24435d7e2a3f43f7
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently the qgeofiletilecache/qgeofiletilecachemapbox contains a bug
in that it makes use of virtual functions in the constructor.
This patch fixes it by moving those calls into a virtual init()
method that is called by QGeoTiledMappingManagerEngine::setTileCache()
Change-Id: Icf7932dfbae7d99eef22c67e034246a834212a03
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The current QtLocation renderer uses geotiles of specified size for
each specific zoom level, and show them using nearest neighbor
interpolation when the camera is at that specific zoom level.
Interpolation is changed to linear when the zoom level is in between
two neighboring tile layers, but hasn't reached the next yet, so that
the previous layer can be magnified smoothly.
While this is the correct approach, it produces blurry images most of
the time, while the previous camera mechanics, not allowing continuous
zoom, was able to show crisp images all the time.
To retain the continuous zoom and produce crisp images, this patch
makes use of HiDpi tiles from providers that offer them (HERE and
mapbox).
The way these two providers offer HiDpi is different: HERE scales the
map elements (text, mostly), to address a specific dpi (supported
dpis are 72, the standard, 250, 320, 500), while mapbox returns
the same tile at double resolution.
The way the patch deals with this is by taking the image requested
as is, but setting the tile size in the renderer to be half of that,
while at the same time enabling mip mapping for QSGImageNodes.
In this way, at integer zoom level, texture LOD 1 is shown, that is
an OpenGL-scaled-down version of the downloaded tile, while at the
other fractional zoom levels trilinear interpolation is used to
produce a good image.
This approach was not possible for the openstreetmap geoservice
provider because mapquest (the currently used data provider) does
not offer HiDpi tiles, and a scaled version of the standard tile
would make the text unreadable half of the times.
Further scaling would be possible, e.g., with HERE maps, offering
500ppi maps, to look good during scaling also on HiDpi devices.
This can be addressed in a future patch.
Task-number: QTBUG-53318
Task-number: QTBUG-48868
Task-number: QTBUG-36949
Change-Id: Iaa6f5b1ece9d37a0c85e73efaf1bd3b50b1d5950
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
This patch makes the QGeoServiceProviderFactoryNokia spit clearer error
messages if the mandatory parameters are present but incorrect
Change-Id: I7d46409e7ea7d7517dd6c28f3679d60ebf619d5b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactor code to use QGeoCameraData directly. All functionality related
to zoom, center boundary checks are now handled in QDeclaratvieGeoMap class.
This makes handling of center and zoomLevel properties much simpler and
less error prone, since camera data can not be modified along the
call stack. As result we avoid forwarding change signals back and forth:
* qgeodeclarativegeomap::setCenter -> qgeomapcontroller::setCenter
* qgeomapcontroller::setCenter -> qgeomap::setCameraData
* qgeomap::setCameraData -> qgeomacontroller::cameraDataChanged
* qgeomapcontroller::cameraDataChanged -> emit qdecalartivegeomap::centerChanged
Call always setCenter and setZoomLevel on qdeclarativegeomap
instance instead.
Introduce initialize() method to handle cases where map plugin is loaded
and scenegraph geometery is not yet set. This is required to correctly
handle new boundary checks to limit grey areas.
Change-Id: I6066cefd4a648dc76333dc241d1f261451a32e9c
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|\ \
| |/
| |
| | |
Change-Id: I18bb1c341e7d87cd1d649f2c3fc9c50141c6a1a9
|
| |
| |
| |
| |
| |
| |
| |
| | |
this fixes static builds by ensuring that all dependencies are exported.
Task-number: QTBUG-51071
Change-Id: Ia0fcc7b40cbd80bde8edddcf8253b3136ed851ff
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
|
|/
|
|
|
|
|
| |
... and QJsonObject::keys()
Change-Id: I9a8ba44406a1e2cbdfffd266d2b5cb664f7440fc
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Due to a typo in the loop condition excluded areas were excluded from
the generated request string.
[ChangeLog][QtLocation][Here plugin] Fix route requests with excluded
areas.
Change-Id: I3f5d5bb7b4b9ab660dc0288f0ed54d02a1e7068b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Recent change adds setter for TileCache, use new setter
in here plugin, remove obsolate create function.
Change-Id: I8f5ee726f6c14ea6fa2adf82a4713d5b37c6a78b
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QGeoTileCache is split into two classes:
The abstract class QAbstractGeoTileCache offers interfaces for inserting
and getting tiles, as well as getting cache status information such as
used texture memory.
The new class QGeoFileTileCache implements QAbstractGeoTileCache and offers
a file based caching implementation (the implementation is the same
as before splitting the class).
Change-Id: I2eab7491d489ac5b251c1296b67688901f5cc7d7
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of having it in several random places, have a central function
that contains all the cache directory selection logic.
As per QtCore docs GenericCacheLocation can be empty so introduce a fallback
to CacheLocation (the app-specific, non-shared location) in case some
future platform does not support the former.
Task-number: QTBUG-41187
Change-Id: Icfe5e8926e917483ac11844f625244318ff815c7
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Here maps plugin checks server for tile version.
When tile version is updated, update not only
the current camera tiles, but also scene tiles.
Task-number: QTBUG-44809
Change-Id: Iedb3add5308a2e61cc18e169e33ea4510e1a4fee
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Zoom levels 0 and 20 are not supported for 512x512 tiles.
Task-number: QTBUG-36949 QTBUG-45694
Change-Id: Id1622a77f1b1f15cb706ee78f2ca872200ba2d3d
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-42151
Change-Id: I3d71ee77327478dfdda23af709bee489f83bb9f6
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since mapping engine is going to be destroyed
on geoseriveprovider change/plugin unload use
QPointer to track engine existence before
making calls.
This commit refactors a bit QGeoTileRequestManager
to handle all the calls to the enigne. Check for
null pointer before calling the engine. Move
registerMap method to base class.
Update QGeoTiledMapNokia class accordingly.
Change-Id: I886e85e660b2c515e4a617e98e9cc0c3c13781b6
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Rename all references and files with 'MapData'
to use shorter name 'Map'.
Change-Id: I8ab790146ee28e540e6866ba0218eea61bae6e64
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Since QGeoMap class does not have any subclasses, there is no
need for keeping the bridge in form of QGeoMapData.
This commit basically renames QGeoMapData to be QGeoMap.
Change-Id: I6eb2f56f7ea83663034f4a8297e8e8f7f185d6a9
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
The recent addition of a second level of categories failed to
set the parent cat id for each child.
Change-Id: Ib30050463b84c2f62972082c0a883bb96bc89c52
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
This is based on:
http://places.api.here.com/places/static/doc/public/#topics/categories.html
Change-Id: I13d5e35d769d80e3c5121bd0c2db5be3414fe099
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
This is of relevance for static Qt builds
Task-number: QTBUG-43681
Task-number: QTBUG-45214
Change-Id: Iea9b4a7cad055dc47265bb51fe2654af80e356b7
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old name is not advertised anymore but the plugin can still be loaded
using the "nokia" key. This will be removed by later versions of Qt.
Adds a QGeoServiceProvider unit tests
Change-Id: I01f36f1bb19d31e0855e90c1605b99e61ee4450b
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the previous setup the location module wasn't properly set up
when qmake was run for the first time with '-r' and no previous
version of QtLocation installed. This caused the building of some
plugins to be skipped later.
It also just looks so much better with the dependencies and subdirs
properly grouped and without the ugly $$QT.location.include things.
Task-number: QTBUG-44983
Change-Id: I0396df078b755a1316ba896ece77620184286a86
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The terms and conditions were not accurate anymore. Instead we refer to
the relevant URL. In general the Nokia plugin is no different than
other plugins. The user must comply with each services T&Cs.
Nokia and Ovi don't exist anymore. The service runs under the Here
term these days.
Change-Id: Ie73b5cc9577946a2e1ce433ed67e0bca0b894a57
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
|
|
|
|
|
|
| |
Change-Id: I3007aa04d3dbc0e00cb0a43987d64d01ddf91edd
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ia1e333be7fec8898de609d9b9303b1ad7687632e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clang 3.6 and later print a warning for such cases. This patch fixes
all override warnings caused by the content of the qtlocation itself.
The remaining cases are triggered by headers outside of the qtlocation
repo.
This patch only fixes cases which clang on Linux can reach. It is
possible that some of the platform specific plugins still have some
ovveride related cases.
Change-Id: I9f93062511d38cba4449b7fc70e65c93d4251a8b
Reviewed-by: Michal Klocek <michal.klocek@theqtcompany.com>
Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
|