[Development] Qt5.3 / Location Maps

Aaron McCarthy mccarthy.aaron at gmail.com
Wed May 7 02:41:54 CEST 2014


On Tue, 6 May 2014 15:59:59 Kate Alhola wrote:
> Hi, i have been doing application that uses maps. Application UI is Qml but
> all data is generated on C++ side and once again, thee basic issue, is
> there any way to add items from C++ to Qml map.
> I used Qt4.8 and there was basically same issue, there was no way to add
> any C++ generated stuff on Qml map, no any way to add QGeoMapObject etc to
> Qml map. I resolved this issue by making own QML wrapper
> around QGraphicsGeoMap that accepts C++ classes.
> Then when i switched to Qt5.3, there was no maps at all, I ported Qt4.8
> maps to Qt5.3 QtQuick1 and that works nicely. I also noticed that it can't
> be ported to QtQuick2 because old maps depend on QGraphicsView.
> Now I checked Qt5.3 location maps with qt3d . All fine, it copmpiles and
> run but alsp all C++ API is gone and there is still no way to add items
> from C++ to map. Even all QGeoMapObjects are gone.

The Maps C++ API was removed from the public API during the initial porting to 
Qt5. This was done because we didn't want to be tied to a C++ API that we were 
not 100% satisfied with and to focus limited developer resources on the 
QtQuick2 implementation.

For the time being the best way to place a large number of similar items on a 
map from C++ is to represent those items as a QAbstractListModel and use it as 
the source model for the MapItemView in QML.

> QDeclarativePolylineMapItem jas Path property that is type of QJSvalue  and
> that looks only possible hook to c++, create path of polyline in C++ as
> QJSvalua and then pass this to Qml ?

There is also the addCoordinate()/removeCoordinate() invokable functions which 
are easier to use than constructing a QJSValue, but probably less efficient if 
adding or removing a large number of coordinates.

What sort of objects are you displaying on the map, is it just polylines?

> What is happening to Qt Maps C++ API ? There is still a lot of us that
> generate data displayed on map in C++ code and use Qml only for UI

There is currently a lack of developer resources working on the location 
module. The good news is that recently the number of contributions to the 
location module has increased.


Aaron McCarthy

More information about the Development mailing list