1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
5 \page qtlocation-changes-qt6.html
6 \title Changes to Qt Location
7 \ingroup changes-qt-5-to-6
8 \brief Migrate Qt Location to Qt 6.
10 Qt 6 is a result of the conscious effort to make the framework more
11 efficient and easy to use.
13 We try to maintain binary and source compatibility for all the public
14 APIs in each release. But some changes were inevitable in an effort to
15 make Qt a better framework.
17 In this topic we summarize those changes in Qt Location, and provide
18 guidance to handle them.
20 \section1 Breaking public API changes
25 \li The \c {MapRectangle::backend}, \c {MapCircle::backend},
26 \c {MapPolyline::backend}, and \c {MapPolygon::backend} properties
28 \li The former Routing-related QML element types \c Route, \c RouteSegment,
29 and \c RouteManeuver are now value types \l route, \l routeSegment, and
30 \l routeManeuver. They can no longer be instantiated as items in QML,
31 and their properties can not be bound to.
32 \li The former Mapping-related QML element types \c MapType and
33 \c CameraCapabilities are now value types \l mapType and
34 \l cameraCapabilities. They can no longer be instantiated as items in
35 QML, and their properties can not be bound to.
36 \li The \c QGeoRouteLeg class and the QML equivalent, \c RouteLeg, have
37 been merged into \l QGeoRoute (and the \l route type). A route can
38 be an aggregate of several routes.
39 \li The \l {Map} type provides now minimal functionality without handling
40 of user intput. The \c {MapGestureArea} was removed. The \l {MapView}
41 type handles basic user input such as tap and drag events.
47 \li The \c {QPlaceImage}, \c {QPlaceEditorial}, and \c {QPlaceReview} classes
48 have been folded into \l QPlaceContent.
49 \li The \l QPlaceContent API has been changed to give access to a list of
54 \li The former QML element types \c PlaceUser, \c PlaceRatings,
55 \c PlaceAttribute, \c PlaceIcon, \c PlaceSupplier, and
56 \c PlaceContactDetail are now value types \l user,
57 \l ratings, \l placeAttribute, \l icon,
58 \l supplier, and \l contactDetail.
59 They can no longer be instantiated as items from QML, and
60 their properties can not be bound to.
63 \section2 Experimental APIs
65 Functionality that had "labs" status has been removed. This includes the
66 experimental framework for turn-by-turn navigation, as well as the
67 MapObjects abstraction.
69 \section2 Backend Provider API
71 The backend provider API is no longer subject to binary and source
72 compatibility guarantees.
74 \section1 Other API changes
76 This section contains API improvements that do not break source
77 compatibility. However they might have an impact on the application logic,
78 so it is still useful to know about them.