Changes to Qt Location
Qt 6 is a result of the conscious effort to make the framework more efficient and easy to use.
We try to maintain binary and source compatibility for all the public APIs in each release. But some changes were inevitable in an effort to make Qt a better framework.
In this topic we summarize those changes in Qt Location, and provide guidance to handle them.
Breaking public API changes
Maps
- The
MapRectangle::backend
,MapCircle::backend
,MapPolyline::backend
, andMapPolygon::backend
properties have been removed. - The former Routing-related QML element types
Route
,RouteSegment
, andRouteManeuver
are now value types route, routeSegment, and routeManeuver. They can no longer be instantiated as items in QML, and their properties can not be bound to. - The former Mapping-related QML element types
MapType
andCameraCapabilities
are now value types mapType and cameraCapabilities. They can no longer be instantiated as items in QML, and their properties can not be bound to. - The
QGeoRouteLeg
class and the QML equivalent,RouteLeg
, have been merged into QGeoRoute (and the route type). A route can be an aggregate of several routes. - The Map type provides now minimal functionality without handling of user intput. The
MapGestureArea
was removed. The MapView type handles basic user input such as tap and drag events.
Places
- The
QPlaceImage
,QPlaceEditorial
, andQPlaceReview
classes have been folded into QPlaceContent. - The QPlaceContent API has been changed to give access to a list of QVariant values.
- The former QML element types
PlaceUser
,PlaceRatings
,PlaceAttribute
,PlaceIcon
,PlaceSupplier
, andPlaceContactDetail
are now value types user, ratings, placeAttribute, icon, supplier, and contactDetail. They can no longer be instantiated as items from QML, and their properties can not be bound to.
Experimental APIs
Functionality that had "labs" status has been removed. This includes the experimental framework for turn-by-turn navigation, as well as the MapObjects abstraction.
Backend Provider API
The backend provider API is no longer subject to binary and source compatibility guarantees.
Other API changes
This section contains API improvements that do not break source compatibility. However they might have an impact on the application logic, so it is still useful to know about them.