summaryrefslogtreecommitdiff
path: root/src/location/maps
Commit message (Collapse)AuthorAgeFilesLines
...
* QGeoManeuver: Fix QVariantMap includeFriedemann Kleint2018-04-181-1/+1
| | | | | | | | | | Prepend module name, which is required for generating Qt for Python bindinds. Task-number: PYSIDE-487 Change-Id: I84614bae08efa74393c4048bc16196eb730f0e6b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* Merge remote-tracking branch 'origin/wip/navigation' into 5.11Paolo Angelelli2018-04-176-13/+87
|\ | | | | | | | | | | | | | | | | Conflicts: src/location/declarativemaps/qgeomapobject.cpp src/location/declarativemaps/qgeomapobject_p_p.h src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.h Change-Id: Iab847e16011b2095d307e2a3610bf9157ae7b92d
| * Introduce Navigator QML typePaolo Angelelli2018-04-174-13/+78
| | | | | | | | | | | | | | | | | | A new QML type, Navigator, is introduced in Qt.labs.location Its intended purpose is to be a front-end for the functionalities offered by NavigationManagerEngines. Change-Id: Ic93bed0bfaaf32453e759b12a348fa6ef1ae2c93 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * Merge remote-tracking branch 'origin/5.11' into wip/navigationPaolo Angelelli2018-03-209-15/+63
| |\ | | | | | | | | | Change-Id: I558b3b2de394b946d70f484a19d0c1f7bef25515
| * | Add virtual QGeoMap::removeMapObjectPaolo Angelelli2018-02-212-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | this can be called in ~QGeoMapObjectPrivate overrides to delete themselves from the map. Change-Id: I715491728a60b3d1bd60944a51dfa0ba07a3b29e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Fix Clipper screwing polyline topology during clippingPaolo Angelelli2018-04-112-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix uses a different polyline clipping algorithm to do line-polygon clipping which uses Clipper internally only to do inside/outside testing. Among other things, this method appears to be much faster than the older one. Task-number: QTBUG-66692 Task-number: QTBUG-66830 Change-Id: I2ed6f46c5d9d426a740611bec13aff69be49eb2a Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Support Mapbox Directions API voice & banner instructionsBruno de Oliveira Abinader2018-04-112-52/+78
| | | | | | | | | | | | | | | | | | Change-Id: I89f4f9940c2a9a862ffaec066e5a7841bc00bd05 Reviewed-by: Bruno de Oliveira Abinader <brunoabinader@gmail.com> Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | Change private slots into protected in QGeoTiledMappingManagerEnginePaolo Angelelli2018-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | So that they can not only be reimplemented, but also used in subclasses. Change-Id: I8e64ba47aa8dd377e71352b9710ca29051f3ea4c Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Add OSRM's {leg,step}_index extra attribute to QGeoManeuverBruno de Oliveira Abinader2018-04-091-4/+10
| | | | | | | | | | | | | | | Change-Id: I3f6fd2e29a9689baa9db3efbbcc17242925484db Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | Allow threaded tile provisioningPaolo Angelelli2018-04-063-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change virtualizes four key methods of QGeoTiledMappingManagerEngine, that need to be reimplemented in order to be able to run tile provisioning in a separate thread. QGeoTileRequestManager is also now privately exported, as it has to be used in those methods. Finally the patch includes some minor cleanup in QGeoTileFetcher. Change-Id: I3063263120f935f0cde54abf00bd1caa476ab215 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Request 6-digit precision from OSRM geometriesBruno de Oliveira Abinader2018-04-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having an additional digit provides extra detail and can return more accurate results along a path e.g. at the equator, six digits gives 10cm of precision, while five digits yields about a meter. Change-Id: Iec93ac77edbc0b355edee6e4184f1f8f8002e98a Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Implement QGeoRoute{,Private}MapboxBruno de Oliveira Abinader2018-03-282-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds QGeoRoutePrivate::metadata(), which provides a QVariantMap containing route plugin-specific data, that could be privately used by other plugins. Taking Mapbox routes as example, we want to expose the route JSON server reply, so we've added QGeoRouteMapbox for that purpose. Change-Id: I6823ed4623b05a0e678b73676b2361cf74823ddb Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | Doc: Fix all documentation warningsTopi Reinio2018-03-273-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix multiple warnings caused by invalid documentation configuration, missing QML module specifiers, wrong QML type names, incorrect arguments for the \fn command, and missing documentation. Remove incorrect statement from the example usage of the Waypoint QML type. Use 'QtLocation' as the name for the module throughout the docs. Clang (used as the parser for QDoc in Qt 5.11) was unable to resolve the path for qlocation.h, causing QDoc to omit the QLocation namespace documentation. Fix this by including the file explicitly from qlocationglobal.h for documentation builds. Change-Id: I2bd790db1ff5ad96f0cdb415a682b97593b3a6dc Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | QGeoServiceProvider: Consider navigation manager when setting localePaolo Angelelli2018-03-231-0/+2
| | | | | | | | | | | | | | | Change-Id: I2b93d477c94cba528b9b6764e69cb6363c270702 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Fix clearData not triggering scene updatePaolo Angelelli2018-03-221-0/+2
| |/ |/| | | | | | | | | Task-number: QTBUG-66880 Change-Id: I14f3d3fa933b63436dcd3034c07a5dad51f18b1f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | QGeoServiceProviderFactory: Restore binary compatibility to Qt 5.10Paolo Angelelli2018-03-204-8/+51
| | | | | | | | | | | | | | | | | | | | | | | | Added a new QGeoServiceProviderFactoryV2 to load plugins offering a navigation manager engine. To be able to still load plugins compiled against Qt 5.10, both factories are considered when loading plugins, using the pointer to the V2 only when accessing the newly exposed functionality. Change-Id: I8e5e868737c77142e77caaacef278686565928df Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix warning: usage of deprecated QString()Paolo Angelelli2018-03-161-1/+6
| | | | | | | | | | Change-Id: I584483bfce276132f167f2344ea731bb9d6da894 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | API Fix: change QGeoRouteRequest::extraParameters into QVariantMapv5.11.0-beta2Paolo Angelelli2018-03-083-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed as it turns out the QGeoRouteRequest associated with a QGeoRoute has to be exposed also through the declarative API (so QDeclarativeGeoRoute must expose an associated QDeclarativeGeoRouteRequest). QDeclarativeGeoRouteRequest was, until now, intended to be only a one-way API (to feed data into the plugin). Now that it has also to expose data coming from the plugin, including the associated extraParameters that do would come anymore from nested MapParameters but from the QGeoRouteRequest itself. For this reason the type has to be a QML-friently type. Change-Id: I083e0fe97ad1088f6084665037003e24edb54371 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Fix infinite loop in QGeoRouteSegmentPrivateDefault::operator ==Paolo Angelelli2018-03-071-1/+1
|/ | | | | | Change-Id: I7b92ecd1862866c3f065447d23957993057f7b8c Reviewed-by: Helio Chissini de Castro <helio@kde.org> Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
* Fix regression: gesture area not honoring maximum center latitudePaolo Angelelli2018-02-202-1/+11
| | | | | | | Introduced in 69a42c4a5c37a5a74c4b285c64328bc88ed8e059 Change-Id: I3cace297e0494bdb4da5e6d4d1a634877c66f916 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-196-3/+42
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/location/declarativemaps/qdeclarativegeomap.cpp src/location/maps/qgeomap.cpp src/location/maps/qgeomap_p_p.h src/location/maps/qgeorouteparserosrmv5.cpp src/location/maps/qgeotiledmap.cpp src/positioning/positioning.pro Change-Id: I42f8b176a8f3e824c7fe5b067a958735173f0dbb
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-266-3/+42
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/qgeotiledmap/tst_qgeotiledmap.cpp tests/plugins/declarativetestplugin/testhelper.h Change-Id: Ie218ab1dc68642a6922e05e5688c20b90440b72e
| | * Fix performance issue with copyright noticePaolo Angelelli2018-01-155-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip evaluating copyrights when the notice is not visible. The implication of this patch is that copyright information won't be up to date or even available unless there is an "attached" copyright notice that has the visible property set to true. Task-number: QTBUG-64880 Change-Id: I3750b61913becb0cbf31273ad9a76ae1a2b6a393 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Increase lat/lon precision in OSRMv5::requestUrlPaolo Angelelli2018-01-091-1/+1
| | | | | | | | | | | | | | | Change-Id: I1ca0565640c639419796cf32d8cefea99bd21a88 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Use qAsConst to iterate m_mapParametersPaolo Angelelli2018-02-121-1/+1
| | | | | | | | | | | | | | | Change-Id: I7fb4e263d49b12adf260c71ca99ed8476125b3a6 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Make QGeoMap::createMapObjectImplementation virtualPaolo Angelelli2018-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Needed, for example, to emit an sgNodeChanged or similar upon addition of a new map object, *after* the pimpl has been properly injected. Change-Id: I1442e54aad94c465b0b7b17f1ed92f4900ca1d29 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Initialize navigationManager and navigationErrorBogDan Vatra2018-02-082-2/+6
| | | | | | | | | | | | | | | | | | | | | delete navigationManager when is not needed anymore Change-Id: I2bff91ef13369a32e86fba375f7f158b95cf520d Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | | Let QGeoMap::createMapObjectImplementation set the implementationPaolo Angelelli2018-02-072-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents a sort of "call super" antipattern, where each specific createMapObjectImplementation have to call the setImplementation internally. Change-Id: I0babe89a3a01728e95209cf832f4debc3d8af158 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Replace Q_NULLPTR with nullptrKevin Funk2018-02-0510-12/+12
| | | | | | | | | | | | | | | Change-Id: Icbebfaae93cc5827d80ef09323ec82868789838a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2018-02-056-35/+35
| | | | | | | | | | | | | | | Change-Id: Iaa670de181255ea570fcf7bcbe465987ef7fc2fc Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Revert changing access rights to d_ptr in QGeoRoute/SegmentPaolo Angelelli2018-01-274-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | As some compilers may put these information in the signature, changing this may break the ABI. Change-Id: I80cce605c735680e6969e84feac57f58b4aa5af4 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Allow plugins to use alternative map projectionsPaolo Angelelli2018-01-277-58/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QtLocation mapping has always been geared around the WebMercator projection. Some mapping SDKs support additional projections, such as General Perspective (often called globe view or globe rendering). The goal of this patch is to allow a plugin to provide such a view, disabling WebMercator specific features, and redirecting API calls to plugin-specific implementations. In particular, this patch disables the rendering of Map Items (QDeclarativeGeoMapItemBase and sons) for projections different from WebMercator, with the exception of MapQuickItems. MapQuickItems, in turn, lose the ability to draw "on the map", when the projection is different from WebMercator. However, they can still be used to add geolocated popups, buttons and other UI elements. fitViewportToMapItems is also disabled, for both it can't be computed and there wouldn't be any item to fit (with the exception of mapquickitems) Change-Id: I9fa2fdd01a35a078fc4663efc9d269c4ecaa3f41 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Introduce QGeoMapObjectPaolo Angelelli2018-01-253-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QGeoMapObject is a new class of map item, not deriving anymore from QQuickItem, and designed to be more lightweight, and, most importantly, to be easily backable by SDK-specific implementations, so to act as an as thin as possible wrapper around those. QGeoMapObject is intended to be the base class for this type of items. This patch provides no mean to dynamically add/remove GeoMapObjects. The intended way to do it is by using a MapObjectView, coming initially with the Qt.labs.location extra plugin. Change-Id: I8d6a45a4a32059c7ec4d904f75352e176bffda1e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Add QNavigationManager/QNavigationManagerEnginePaolo Angelelli2018-01-2410-1/+527
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces the abovementioned classes to be subclassed in plugins. These are currently private, and intended to be only used in QML through appropriate wrappers. Change-Id: I4a063031a983e4bd070f503e1458b62e44c6e340 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Allow to extract pimpl from QGeoRoutePaolo Angelelli2018-01-243-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Needed to properly implement Navigators, which only get QGeoRoutes, and may find easier to directly access the private implementation rather than going through the routeId. Change-Id: I6c23d7b5336d1fb99fad3cf588cbf78437e0563f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Add static QGeoMapPrivate *QGeoMapPrivate::getPaolo Angelelli2018-01-232-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | The intended use is inside map object implementations, where the objects have only a pointer to QGeoMap, but may need to access the SDK specific data. Change-Id: If37fc7d77a8670e03e78053ee747f2b64c2b9deb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Merge remote-tracking branch 'origin/dev' into wip/navigationPaolo Angelelli2018-01-221-0/+2
|\ \ \ | | | | | | | | | | | | Change-Id: If60e71a36d0b0034463a88b928e364049270035e
| * | | Fix OSRMv5 support to Waypoints bearingPaolo Angelelli2018-01-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | OSRM API require one bearing per waypoint, or none at all. Change-Id: If83552a231b7f434a4944e02cdcfcbf552bca31f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | | Merge remote-tracking branch 'origin/dev' into wip/navigationPaolo Angelelli2018-01-1113-27/+245
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/location/maps/qgeomaneuver.cpp src/location/maps/qgeomaneuver.h src/location/maps/qgeomaneuver_p.h tests/auto/declarative_core/tst_routing.qml Change-Id: Iedf10d678a9129797f9aae872e09f78ef0a32de1
| * | | Merge remote-tracking branch 'origin/5.10' into devPaolo Angelelli2018-01-071-2/+2
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/imports/location/location.cpp src/plugins/geoservices/mapbox/qgeoroutereplymapbox.cpp Change-Id: I0c1ce33cff7bb1a65e65b8adafd2b31eb936d515
| | * | Merge remote-tracking branch 'origin/5.9' into 5.10Paolo Angelelli2017-12-151-2/+2
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I8300f5fcbbe3064049e11d2b04c10e35c9945c8d
| | | * Make QGeoMapParameter accessors virtualPaolo Angelelli2017-11-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So that it's possible to make the type property somehow constant in subclasses Change-Id: I61f4d1b412dbfb173e7ca7fa31411cffbfcfacb1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * | | Support waypoints bearing in the OSRM backendPaolo Angelelli2017-12-051-2/+16
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifbb365c316d5999a182d30d162325bee4030bd21 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | QGeoMapParameter: allow specifying properties at construction timePaolo Angelelli2017-12-012-0/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: I761ada8c7419051caed1f670ac5ed88ff0b05782 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Make OSRM backend return extended attributes for maneuversPaolo Angelelli2017-12-011-0/+8
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib3644a48fa009b689c0f1f57952e5f2a4356dc6e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Introduce WaypointPaolo Angelelli2017-11-305-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch replaces QGeoCoordinate with Waypoint as mean to specify waypoints in a RouteQuery. This patch also adds a new invokable to RouteQuery, waypointObjects, to return QDeclarativeGeoWaypoints instead of QGeoCooordinates. NOTE: If, by 5.11, support to perform implicit conversions in method invocations based on converters registered in the metatype system will be added, this method could/should be removed, and QDeclarativeGeoWaypoint objects should be return as QVariants from the waypoints() getter, as they could be used in place of QGeoCoordinate when passing them as arguments. Task-number: QTBUG-64066 Change-Id: I77747f53cdcbabe6430580b60fa59d4afe8c650a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Allow to specify extra parameters in RouteQuery using MapParametersPaolo Angelelli2017-11-292-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch works on top of the previous one, and passes the content of the map parameters as a QMap<QString, QVariantMap>, where the key is the parameter type and the value is a map<property name, property value> of all properties of the map parameter except for the property "type". To achieve this, a new list property, quickChildren, has been added to RouteQuery, to pick up Map Parameters declared inside the query Change-Id: I364f5438e8f4cfc42430bfe448d96519c407eb74 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Return UTurnLeft instead of Right in osrmV5Paolo Angelelli2017-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Right Hand Traffic is in use in most countries, it makes sense to return UTurnLeft instead of Right. This should be possibly made Locale-specific, in the future. Change-Id: Ib580d9ae0a9278809c77750ca9791b3aaacc974d Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Unify OSRM backends for OSM and Mapbox pluginsPaolo Angelelli2017-11-292-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch unifies the OSRM backend in both the OSM and Mapbox plugins, adding some extra functionalities to QGeoRouteParserOsrmV5 to handle the extra osrm-text-instructions information coming from the Mapbox servers. It also adds a plugin parameter to let the user choose whether to use the server's text instructions or the plugin-generated ones. Change-Id: Id7ce73f4285e2e7db6872f40d72c0610847fce91 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Add extended attributes to QGeoManeuver/QDeclarativeGeoManeuverPaolo Angelelli2017-11-293-0/+26
| | | | | | | | | | | | | | | | | | | | Change-Id: I6ed1d869d0a97e397057e92cf17ce9fddb4eca3f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>