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