Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
None
-
Team 1 Foundation_Sprint 44
Description
I have started to port QtLocation maps to Qt 6.2 and this issue is to track and collect all the relevant information.
Current status:
- All classes are included into CMake build and modified for Qt 6.
- OpenGL backend code of MapPolyline, MapPolygn, MapcCircle and MapRectangle (including labs project) is ported to new abstract graphics API.
- MapboxGL plugin is re-introdced as MaplibreGL plugin. It compiles on MSVC, Android and iOS and is pointed to the official MapLibre repository because all needed changes are merged to main in MapLibre.
Bigger modifications:
- Mouse and touch input part is re-written to support new 'exclusiveGrabber' and to be able to share different touch point between different child items. For example, one finger can pan the map and another finger can scroll child ListView.
Known issues:
Map tiles are not visible during flick animation. But they are when performing 'center' property CoordinateAnimation on the QML side. No idea, what's the cause. Flick movement is basically the same, only on the C++ side.Fixed with https://codereview.qt-project.org/c/qt/qtlocation/+/373996MapPolyline extruded version has scrambled miter joints when route/polyline contains equal coordinates twice in the path, next to each other. Seems that routes can have this, when it contains multiple route segments or something.But, the same behaviour is in Qt 5.WIP: "mapboxgl" plugin has been switched to Maplibre. I compiles and works. TODO: rename everything an re-introduce it a "maplibregl" plugin.Tests are not included.https://codereview.qt-project.org/c/qt/qtlocation/+/380646/8- Examples are not yet ported/included.
Gestures: when panning the map with one finger to an offset and then placing a second finger on the map, then map jumps in a panned distance. Fixed: https://codereview.qt-project.org/c/qt/qtlocation/+/412441Gestures: holding down one finger until long press is triggered in child MouseArea, placing second finger on the map and releasing the first one, causes zoom gesture when moving the second (the only one left) - as if the first finger is still down. Fixed: https://codereview.qt-project.org/c/qt/qtlocation/+/412446- There seems to be a change either in Qt 6.3 or in iOS where shaders don't have enouch precision. Moving GL objects (polyline, etc) are jumping when panning with bigger zoom levels. Even if split double is used. This "jumping" goes away when using: QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGLRhi);. It happens only on iOS (perhaps Mac as well) and default RHI (Metal, I guess). Android and Windows are smooth.
Attachments
Issue Links
- depends on
-
QTBUG-108635 enable PinchHandler to control ease of starting rotation
- Reported
-
QTBUG-68108 QtLocation: start using Pointer Handlers and get rid of the C++ gesture recognition logic
- Closed
- is cloned by
-
QTBUG-100849 CLONE - QtLocation maps to Qt 6.2
- Closed
- relates to
-
QTBUG-74463 Mapbox GL should be enabled on Windows MSVC builds
- Reported
-
QTBUG-68030 MouseArea interferes with MapGestureArea
- Closed
-
QTBUG-68771 Map + MouseArea multi-touch issues
- Closed
-
QTBUG-53634 Qml Map pinch gesture never completes causing control to become unresponsive
- Closed
-
QTBUG-97769 Try to enable a minimal QtLocation setup in the CI
- Closed
-
QTBUG-97084 Leave only QtLocation-related code in qtlocation repo
- Closed
- mentioned in
-
Page Loading...
Gerrit Reviews
For Gerrit Dashboard: QTBUG-96795 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
382087,27 | Re-introduce Mapbox GL plugin as Maplibre GL Native | dev | qt/qtlocation | Status: NEW | 0 | 0 |
359562,10 | replace int by qsizetype | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
372809,3 | Porting QtLocation maps to Qt 6.2 | dev | qt/qtlocation | Status: ABANDONED | 0 | 0 |
373996,28 | CoordinateAnimation East/West now swapped in Qt 6 | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374257,8 | Change 'geometryChanged' to 'geometryChange' | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374266,8 | Change 'setBoundingBox' to 'setBoundingShape' | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374286,11 | Change QGeoPolygon 'path' to 'perimeter' | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374290,12 | Adapt QDeclarativeGeoWaypoint to use bindable coordinate property | dev | qt/qtlocation | Status: MERGED | -1 | 0 |
374295,11 | Correct string literal comparison and concatenation | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374300,20 | Port OpenGL dependent code to Qt6 updated graphics API | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374304,17 | Mouse/touch input handling re-work | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374324,15 | Remove global 'using namespace std;' from clip2tri library header | dev | qt/qtlocation | Status: ABANDONED | +1 | 0 |
374334,16 | Build Qt.labs.location | dev | qt/qtlocation | Status: ABANDONED | 0 | 0 |
374339,19 | Code clean-up to be able to compile for Qt 6 | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374342,1 | QParameterizableObjectData: remove QAbstractDeclarativeData::parentChanged | dev | qt/qtlocation | Status: ABANDONED | 0 | 0 |
374343,20 | Remove QAbstractDeclarativeData::parentChanged | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
374344,20 | CMake: build files for maps and geoservices | dev | qt/qtlocation | Status: ABANDONED | 0 | 0 |
374650,24 | QGeoRoutingManager doc example into snippet file | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
378891,4 | Fix QGeoJson import/export | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
379148,9 | Fix appendChildNode() call | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
379149,3 | WIP: fix the behavior without QAbstractDeclarativeData::parentChanged | dev | qt/qtlocation | Status: ABANDONED | -2 | 0 |
379150,15 | Finalize QtLocation CMake build | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
379151,18 | Migrate geojson_viewer example to Qt 6 | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
380646,12 | Enable QML unit-tests | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
380647,8 | Fix warnings for Windows build | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
381443,12 | Migrate mapviewer to Qt 6 | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
388843,14 | Porting Examples: use CMake replace qmake | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
395913,2 | QDeclarativeGeoMap: reorder new parameters application after camera capabilities change | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
399449,7 | Manual fixes in CMake files for examples | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
399450,8 | Small improvements and fixes in different examples projects | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
412441,5 | Use current touch position when switching from one to two point mode | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
412446,10 | Improve QEvent::UngrabMouse handling in map gesture area | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423470,1 | Porting Examples: use CMake replace qmake | lts-6.2 | qt/qtlocation | Status: ABANDONED | 0 | 0 |
423471,3 | Manual fixes in CMake files for examples | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423472,3 | Migrate geojson_viewer example to Qt 6 | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423473,3 | Migrate mapviewer to Qt 6 | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423474,3 | Small improvements and fixes in different examples projects | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423634,4 | Doc: Remove obsolete modules from dependencies | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423635,3 | Remove all qmake .pro files, except for examples | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423636,3 | Build "places" example with cmake | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423637,4 | Bump plugin interface version to 6.0 | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423776,2 | Doc: Remove obsolete modules from dependencies | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423777,2 | Build "places" example with cmake | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423789,2 | Remove all qmake .pro files, except for examples | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423819,2 | Remove unused placemacro header | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423820,2 | Clean up test cases for value types | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423821,2 | Modernize Maps value types | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423822,7 | Modernize Places value types | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
423890,2 | Bump plugin interface version to 6.0 | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423891,2 | Remove unused placemacro header | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
423892,2 | Clean up test cases for value types | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
424185,2 | Modernize Maps value types | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
424231,3 | Modernize Places value types | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
424301,4 | Clean up mix of polymorph and value semantics | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
424302,4 | Modernize and clean up QGeoRoute(Leg) | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
424342,3 | Cleanup private map types | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
427574,3 | Clean up mix of polymorph and value semantics | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
427575,3 | Modernize and clean up QGeoRoute(Leg) | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
429503,3 | Cleanup private map types | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
430456,4 | Implement value-initialization for list<gadget> types | dev | qt/qtdeclarative | Status: ABANDONED | 0 | 0 |
430509,17 | Change QJSValue properties to QList<QGeoCoordinate/Rectangle> | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
430550,6 | Register a conversion routine from QVariantMap to QGeoCoordinate | dev | qt/qtpositioning | Status: MERGED | +2 | 0 |
430558,6 | Register a conversion routine from QVariantMap to QGeoRectangle | dev | qt/qtpositioning | Status: MERGED | +2 | 0 |
431812,10 | Register QPlaceRatings as a value type | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
431813,10 | Register QPlaceAttribute as a value type | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
431814,10 | Register QPlaceIcon as a QML value type | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
431869,10 | Merge QGeoRouteLeg into QGeoRoute | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
433905,6 | Port place example from qtquick1 to qtquick2 | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
434159,2 | Port place example from qtquick1 to qtquick2 | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
434978,8 | Register QGeoRoute as QML value type, remove QDeclarativeGeoRoute | dev | qt/qtlocation | Status: MERGED | +2 | 0 |
435262,2 | Improve QEvent::UngrabMouse handling in map gesture area | lts-6.2 | qt/qtlocation | Status: MERGED | +2 | 0 |
445367,3 | Documentation fixes | dev | qt/qtlocation | Status: MERGED | +2 | 0 |