Changes to Qt Location

Qt 6 是努力使框架更高效,且更易于使用的结果。

为兼容每个发行的所有公共 API,我们试着维护二进制和源代码。但是,为使 Qt 成为更优框架,一些改变是不可避免的。

In this topic we summarize those changes in Qt Location, and provide guidance to handle them.

Breaking public API changes

映射

  • The MapRectangle::backend , MapCircle::backend , MapPolyline::backend ,和 MapPolygon::backend properties have been removed.
  • The former Routing-related QML element types Route , RouteSegment ,和 RouteManeuver are now value types route , routeSegment ,和 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 and CameraCapabilities 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 former QML element types PlaceUser , PlaceRatings , PlaceAttribute , PlaceIcon , PlaceSupplier ,和 PlaceContactDetail are now value types user , ratings , placeAttribute , icon , supplier ,和 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.

其它 API 变化

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.