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...