QtMobility 1 2 Whats New: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=What’s New in the Qt Mobility 1.2 Release=
[[Category:Developing with Qt::QtMobility]]<br />[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]


This document details the new <span class="caps">API</span> features and changes introduced in [http://doc.qt.nokia.com/qtmobility-1.2/index.html Qt Mobility 1.2] ''[doc.qt.nokia.com]'' release. It was written from Symbian implementation perspective but most of the features are also valid for Nokia N9 (MeeGo 1.2 Harmattan) release. See also [[Qt474CompatibilityIssues|a topic for compatibility changes for Qt Mobility 1.2]].
= What's New in the Qt Mobility 1.2 Release =


==Bluetooth <span class="caps">API</span> – a part of Connectivity <span class="caps">API</span>==
This document details the new API features and changes introduced in &quot;Qt Mobility 1.2&amp;quot;:http://doc.qt.nokia.com/qtmobility-1.2/index.html release. It was written from Symbian implementation perspective but most of the features are also valid for Nokia N9 (MeeGo 1.2 Harmattan) release. See also [[Qt474CompatibilityIssues|a topic for compatibility changes for Qt Mobility 1.2]].


Bluetooth <span class="caps">API</span> is a new <span class="caps">API</span> in Qt Mobility 1.2. In Symbian the platform initiates UI dialogs like <span class="caps">PIN</span> code entry directly from Bluetooth <span class="caps">API</span> calls. In Nokia N9 the UI dialogs need to be implemented by application.
== Bluetooth API - a part of Connectivity API ==


Bluetooth <span class="caps">API</span> provides following features:
Bluetooth API is a new API in Qt Mobility 1.2. In Symbian the platform initiates UI dialogs like PIN code entry directly from Bluetooth API calls. In Nokia N9 the UI dialogs need to be implemented by application.


* Ability to control power state and discoverability of the local Bluetooth device.
Bluetooth API provides following features:<br />* Ability to control power state and discoverability of the local Bluetooth device.<br />* Ability to manage device pairing: initiate pairing requests and flag pairing authorizations.<br />* The ability to query devices and their services within Bluetooth communication range. Device discovery is performed asynchronously. Results can be obtained both incrementally and non-incrementally.<br />* Discovery result set can be limited based on Bluetooth device address and service UUID.<br />* Retrieve and query attributes record of a service offered by a Bluetooth device.<br />* Publish a new service record and register or unregister it in the platform SDP database.<br />* The ability to specify the security parameters (authorization, authentication and encryption) required for incoming connections.<br />* Support for inbound and outbound L2CAP and RFCOMM communications.<br />* Support for file sending via OBEX. There is no programmatic receiving of files via OBEX as they end up in devices normal file received inbox. To open files application also needs to implement file open handler for custom file formats.<br />* Common classes with QML bindings.
* Ability to manage device pairing: initiate pairing requests and flag pairing authorizations.
* The ability to query devices and their services within Bluetooth communication range. Device discovery is performed asynchronously. Results can be obtained both incrementally and non-incrementally.
* Discovery result set can be limited based on Bluetooth device address and service <span class="caps">UUID</span>.
* Retrieve and query attributes record of a service offered by a Bluetooth device.
* Publish a new service record and register or unregister it in the platform <span class="caps">SDP</span> database.
* The ability to specify the security parameters (authorization, authentication and encryption) required for incoming connections.
* Support for inbound and outbound L2CAP and <span class="caps">RFCOMM</span> communications.
* Support for file sending via <span class="caps">OBEX</span>. There is no programmatic receiving of files via <span class="caps">OBEX</span> as they end up in devices normal file received inbox. To open files application also needs to implement file open handler for custom file formats.
* Common classes with <span class="caps">QML</span> bindings.


Following specific features are not supported in Symbian:
Following specific features are not supported in Symbian:<br />* No support for QBluetoothLocalDevice::HostDiscoverableLimitedInquiry


* No support for QBluetoothLocalDevice::HostDiscoverableLimitedInquiry
== NFC API - a part of Connectivity API ==


==<span class="caps">NFC</span> <span class="caps">API</span> – a part of Connectivity <span class="caps">API</span>==
NFC API is a new API in Qt Mobility 1.2. The NFC (Near Field Communication) API enables applications to communicate over short range radio technology for the support of contactless communication.


<span class="caps">NFC</span> <span class="caps">API</span> is a new <span class="caps">API</span> in Qt Mobility 1.2. The <span class="caps">NFC</span> (Near Field Communication) <span class="caps">API</span> enables applications to communicate over short range radio technology for the support of contactless communication.
The API supports following features and use scenarios:<br />* With NFC one can achieve easy connection setup. Initiate a connection with NFC and then do the actual transmission with Bluetooth.<br />* Quick and hassle-free sharing of small data packets between devices using NFC: NDEF messages are supported.<br />* Get device information, start apps, register to service.<br />* Notifications of NFC events: touched target detection or loss of it, transaction notifications and matched NDEF Message notifications.<br />* Send NFC tag specific commands.


The <span class="caps">API</span> supports following features and use scenarios:
The API also supports LLCP peer to peer communications support:<br />* LLCP connection initiation, transmit and receive data on established connection.<br />* Register an LLCP service URI and start listening for incoming connections.


* With <span class="caps">NFC</span> one can achieve easy connection setup. Initiate a connection with <span class="caps">NFC</span> and then do the actual transmission with Bluetooth.
== SystemInfo API ==
* Quick and hassle-free sharing of small data packets between devices using <span class="caps">NFC</span>: <span class="caps">NDEF</span> messages are supported.
* Get device information, start apps, register to service.
* Notifications of <span class="caps">NFC</span> events: touched target detection or loss of it, transaction notifications and matched <span class="caps">NDEF</span> Message notifications.
* Send <span class="caps">NFC</span> tag specific commands.


The <span class="caps">API</span> also supports <span class="caps">LLCP</span> peer to peer communications support:
The model of getting signals from system changes in SystemInfo QML elements is changed. See QML element reference for &quot;DeviceInfo&amp;quot;:http://doc.qt.nokia.com/qtmobility-1.2/qml-deviceinfo.html#details and &quot;NetworkInfo&amp;quot;:http://doc.qt.nokia.com/qtmobility-1.2/qml-networkinfo.html#details. See also more information from [[Qt474CompatibilityIssues|Compatibility Issues document]].


* <span class="caps">LLCP</span> connection initiation, transmit and receive data on established connection.
New class QSystemBatteryInfo and QML element BatterInfo provide now access to more detailed battery and power information from the system. There is also currentPowerState and currentThermalState properties in SystemDeviceInfo.
* Register an <span class="caps">LLCP</span> service <span class="caps">URI</span> and start listening for incoming connections.


==SystemInfo <span class="caps">API</span>==
Following new features are available in QSystemDeviceInfo:<br />* Device lock status information now details whether the security PIN/password lock is on or just screen is locked by user.<br />* New uniqueDeviceID property.<br />* New currentPowerState and currentThermalState properties. Note: a property called [[Qt474CompatibilityIssues|&quot;powerState&amp;quot; has been removed]] that was in Qt Mobility 1.1.<br />* Devices with slide or flip-open keypads/keyboards there's now ability to check the state or get notifications when user opens or closes the device keyboard with isKeyboardFlippedOpen property and keyboardFlipped signal.<br />* Possibility to check if wireless Bluetooth keyboard is in use with isWirelessKeyboardConnected property.<br />* An indication if keypad light is on with keypadLightOn function.<br />* Previously there was currentProfile property for getting information of the active sound profile. Now there is more information from active profile using new activeProfileDetails function: ringtone volume and vibration information.<br />* More detailed product information with productName property. The model introduces in Qt Mobility 1.1.<br />* ProductName now returns Symbian device type (something like &quot;RM-596&amp;quot;). Use the Model for normal end user device name (&quot;N8&amp;quot;).


The model of getting signals from system changes in SystemInfo <span class="caps">QML</span> elements is changed. See <span class="caps">QML</span> element reference for [http://doc.qt.nokia.com/qtmobility-1.2/qml-deviceinfo.html#details DeviceInfo] ''[doc.qt.nokia.com]'' and [http://doc.qt.nokia.com/qtmobility-1.2/qml-networkinfo.html#details NetworkInfo] ''[doc.qt.nokia.com]''. See also more information from [[Qt474CompatibilityIssues|Compatibility Issues document]].
New in QSystemInfo:<br />* System FM transmitter feature can be queried.


New class QSystemBatteryInfo and <span class="caps">QML</span> element BatterInfo provide now access to more detailed battery and power information from the system. There is also currentPowerState and currentThermalState properties in SystemDeviceInfo.
New in QDisplayInfo:<br />* UI orientation state and notifications.<br />* Display backlight state information: dimmed, on or off via backlightStatus function.<br />* Returns now also display contrast, physical width and height, dots per inch width and height information.


Following new features are available in QSystemDeviceInfo:
New in QSystemStorageInfo:<br />* Drive storage space level notifications with storageStateChanged. Allows app to get notification when a drive storage space reaches a defined threshold level.<br />* Ability to check if a drive is virtual RAM drive or internal flash drive.<br />* A function to return drive as an URI.


* Device lock status information now details whether the security <span class="caps">PIN</span>/password lock is on or just screen is locked by user.
New in QSystemNetworkInfo:<br />* Signal cellIdChanged can be used to detect when user roams between the network cells.<br />* New cellDataTechnology property informs of the cellular data technology in use: GPRS, EDGE, 3G, HSPA. LTE is also added as possible value in NetworkMode returned from currentMode.
* New uniqueDeviceID property.
* New currentPowerState and currentThermalState properties. Note: a property called [[Qt474CompatibilityIssues|“powerState” has been removed]] that was in Qt Mobility 1.1.
* Devices with slide or flip-open keypads/keyboards there’s now ability to check the state or get notifications when user opens or closes the device keyboard with isKeyboardFlippedOpen property and keyboardFlipped signal.
* Possibility to check if wireless Bluetooth keyboard is in use with isWirelessKeyboardConnected property.
* An indication if keypad light is on with keypadLightOn function.
* Previously there was currentProfile property for getting information of the active sound profile. Now there is more information from active profile using new activeProfileDetails function: ringtone volume and vibration information.
* More detailed product information with productName property. The model introduces in Qt Mobility 1.1.
* ProductName now returns Symbian device type (something like “RM-596”). Use the Model for normal end user device name (“N8”).


New in QSystemInfo:
'''Note:''' Qt Mobility 1.2 has a new API called QSystemAlignedTimer which is also known as heart-beat API. This class is not supported in Symbian but only in MeeGo 1.2 Harmattan (Nokia N9). For Nokia N9 there is also AlignedTimer QML element to access this API.


* System FM transmitter feature can be queried.
== Sensors API ==


New in QDisplayInfo:
There is no significant changes in the Sensor API:<br />* Possibility to see what filters have been added to the sensor via the API.<br />* The QML bindings have been updated, there's new QML elements and the documentation is made better for the ones already made available from 1.1.<br />* New sensor types and classes for gyroscope and light sensors are made available in API for future use. At the moment there is no devices having these sensors however.


* UI orientation state and notifications.
== Messaging API ==
* Display backlight state information: dimmed, on or off via backlightStatus function.
* Returns now also display contrast, physical width and height, dots per inch width and height information.
 
New in QSystemStorageInfo:
 
* Drive storage space level notifications with storageStateChanged. Allows app to get notification when a drive storage space reaches a defined threshold level.
* Ability to check if a drive is virtual <span class="caps">RAM</span> drive or internal flash drive.
* A function to return drive as an <span class="caps">URI</span>.
 
New in QSystemNetworkInfo:
 
* Signal cellIdChanged can be used to detect when user roams between the network cells.
* New cellDataTechnology property informs of the cellular data technology in use: <span class="caps">GPRS</span>, <span class="caps">EDGE</span>, 3G, <span class="caps">HSPA</span>. <span class="caps">LTE</span> is also added as possible value in NetworkMode returned from currentMode.
 
'''Note:''' Qt Mobility 1.2 has a new <span class="caps">API</span> called QSystemAlignedTimer which is also known as heart-beat <span class="caps">API</span>. This class is not supported in Symbian but only in MeeGo 1.2 Harmattan (Nokia N9). For Nokia N9 there is also AlignedTimer <span class="caps">QML</span> element to access this <span class="caps">API</span>.
 
==Sensors <span class="caps">API</span>==
 
There is no significant changes in the Sensor <span class="caps">API</span>:
 
* Possibility to see what filters have been added to the sensor via the <span class="caps">API</span>.
* The <span class="caps">QML</span> bindings have been updated, there’s new <span class="caps">QML</span> elements and the documentation is made better for the ones already made available from 1.1.
* New sensor types and classes for gyroscope and light sensors are made available in <span class="caps">API</span> for future use. At the moment there is no devices having these sensors however.
 
==Messaging <span class="caps">API</span>==


* Wild card search support was added for filtering messages. Several new methods added to make this possible in filter classes: QMessageFilter, QMessageFolderFilter and QMessageAccountFilter.
* Wild card search support was added for filtering messages. Several new methods added to make this possible in filter classes: QMessageFilter, QMessageFolderFilter and QMessageAccountFilter.
Line 98: Line 51:
* Move messages to a folder using QMessageService::moveMessages.
* Move messages to a folder using QMessageService::moveMessages.


==Multimedia <span class="caps">API</span>==
== Multimedia API ==


Now there is the ability to specify the networking access point to be used for streaming media. Symbian devices have device wide video streaming access point which is used by default. The issue is that the default access point may not be set or is set to wrong or non-working value. For many cases applications want to either use the same access point as for normal networking that is guaranteed to work better, or use some dedicated one.
Now there is the ability to specify the networking access point to be used for streaming media. Symbian devices have device wide video streaming access point which is used by default. The issue is that the default access point may not be set or is set to wrong or non-working value. For many cases applications want to either use the same access point as for normal networking that is guaranteed to work better, or use some dedicated one.
Line 104: Line 57:
In Symbian the QAudioOutput::suspend now is implemented using real pause functionality in the backend. Earlier suspend did stop internally as pause functionality was missing some Symbian OS releases that are no longer supported. Now suspend and resume is faster operation.
In Symbian the QAudioOutput::suspend now is implemented using real pause functionality in the backend. Earlier suspend did stop internally as pause functionality was missing some Symbian OS releases that are no longer supported. Now suspend and resume is faster operation.


==Contacts <span class="caps">API</span>==
== Contacts API ==


* New class QContactObserver for doing contact change monitoring for a specific contact item.
* New class QContactObserver for doing contact change monitoring for a specific contact item.
* Ability to set maximum search limits for QContactManger allowing to speed up search results when certain amount of contacts data is sufficient or needed. This is achieved using the new QContactFetchHint::setMaxCountHint member function.
* Ability to set maximum search limits for QContactManger allowing to speed up search results when certain amount of contacts data is sufficient or needed. This is achieved using the new QContactFetchHint::setMaxCountHint member function.


==Publish and Subscribe <span class="caps">API</span>==
== Publish and Subscribe API ==
 
<span class="caps">QML</span> bindings added for this <span class="caps">API</span> for publishing with ValueSpacePublisher element.


==Location <span class="caps">API</span>==
QML bindings added for this API for publishing with ValueSpacePublisher element.


<span class="caps">QML</span> elements for Map use cases were significantly updated in Qt Mobility 1.2. This has created also [[Qt474CompatibilityIssues|some compatibility issues]] to Qt Mobility 1.1 when these elements are used. '''Applications using <span class="caps">QML</span> Map related elements are advised to use Qt Mobility 1.2 and the ''import QtMobility.location 1.2''.'''
== Location API ==


Following features are provided in <span class="caps">QML</span> for maps:
QML elements for Map use cases were significantly updated in Qt Mobility 1.2. This has created also [[Qt474CompatibilityIssues|some compatibility issues]] to Qt Mobility 1.1 when these elements are used. '''Applications using QML Map related elements are advised to use Qt Mobility 1.2 and the ''import QtMobility.location 1.2''.'''


* Support for visual mapping and the ability to choose the map plugin used. Element: Map, Plugin, PluginParameter.
Following features are provided in QML for maps:<br />* Support for visual mapping and the ability to choose the map plugin used. Element: Map, Plugin, PluginParameter.<br />* Basic level Map/coordinate optimized mouse handling. Elements: MapMouseArea, MapMouseEvent.<br />* Basic level support for Map objects to show visual elements on the Map. Elements: MapImage, MapText, MapRectangle, MapPolyline, MapPolygon, MapCircle, MapGroup, MapObjectView, MapObject.
* Basic level Map/coordinate optimized mouse handling. Elements: MapMouseArea, MapMouseEvent.
* Basic level support for Map objects to show visual elements on the Map. Elements: MapImage, MapText, MapRectangle, MapPolyline, MapPolygon, MapCircle, MapGroup, MapObjectView, MapObject.


<span class="caps">API</span> now allows to prevent a QGeoMapPixmapObject from being scaled when zooming occurs. This is useful if application design needs that the pixmaps like icons on the map do not adjust to the zoom factor. This can be achieved using new units property in QGeoMapObject.
API now allows to prevent a QGeoMapPixmapObject from being scaled when zooming occurs. This is useful if application design needs that the pixmaps like icons on the map do not adjust to the zoom factor. This can be achieved using new units property in QGeoMapObject.


There is support for QGraphicsItem based based map objects with new QGeoMapCustomObject class.
There is support for QGraphicsItem based based map objects with new QGeoMapCustomObject class.


As an advanced feature, the Location <span class="caps">API</span> now also allows 3rd parties to implement additional position sources with plugins.
As an advanced feature, the Location API now also allows 3rd parties to implement additional position sources with plugins.
 
===Categories:===
 
* [[:Category:Developing with Qt|Developing_with_Qt]]
** [[:Category:Developing with Qt::QtMobility|QtMobility]]

Revision as of 09:52, 24 February 2015


[toc align_right="yes&quot; depth="3&quot;]

What's New in the Qt Mobility 1.2 Release

This document details the new API features and changes introduced in "Qt Mobility 1.2&quot;:http://doc.qt.nokia.com/qtmobility-1.2/index.html release. It was written from Symbian implementation perspective but most of the features are also valid for Nokia N9 (MeeGo 1.2 Harmattan) release. See also a topic for compatibility changes for Qt Mobility 1.2.

Bluetooth API - a part of Connectivity API

Bluetooth API is a new API in Qt Mobility 1.2. In Symbian the platform initiates UI dialogs like PIN code entry directly from Bluetooth API calls. In Nokia N9 the UI dialogs need to be implemented by application.

Bluetooth API provides following features:
* Ability to control power state and discoverability of the local Bluetooth device.
* Ability to manage device pairing: initiate pairing requests and flag pairing authorizations.
* The ability to query devices and their services within Bluetooth communication range. Device discovery is performed asynchronously. Results can be obtained both incrementally and non-incrementally.
* Discovery result set can be limited based on Bluetooth device address and service UUID.
* Retrieve and query attributes record of a service offered by a Bluetooth device.
* Publish a new service record and register or unregister it in the platform SDP database.
* The ability to specify the security parameters (authorization, authentication and encryption) required for incoming connections.
* Support for inbound and outbound L2CAP and RFCOMM communications.
* Support for file sending via OBEX. There is no programmatic receiving of files via OBEX as they end up in devices normal file received inbox. To open files application also needs to implement file open handler for custom file formats.
* Common classes with QML bindings.

Following specific features are not supported in Symbian:
* No support for QBluetoothLocalDevice::HostDiscoverableLimitedInquiry

NFC API - a part of Connectivity API

NFC API is a new API in Qt Mobility 1.2. The NFC (Near Field Communication) API enables applications to communicate over short range radio technology for the support of contactless communication.

The API supports following features and use scenarios:
* With NFC one can achieve easy connection setup. Initiate a connection with NFC and then do the actual transmission with Bluetooth.
* Quick and hassle-free sharing of small data packets between devices using NFC: NDEF messages are supported.
* Get device information, start apps, register to service.
* Notifications of NFC events: touched target detection or loss of it, transaction notifications and matched NDEF Message notifications.
* Send NFC tag specific commands.

The API also supports LLCP peer to peer communications support:
* LLCP connection initiation, transmit and receive data on established connection.
* Register an LLCP service URI and start listening for incoming connections.

SystemInfo API

The model of getting signals from system changes in SystemInfo QML elements is changed. See QML element reference for "DeviceInfo&quot;:http://doc.qt.nokia.com/qtmobility-1.2/qml-deviceinfo.html#details and "NetworkInfo&quot;:http://doc.qt.nokia.com/qtmobility-1.2/qml-networkinfo.html#details. See also more information from Compatibility Issues document.

New class QSystemBatteryInfo and QML element BatterInfo provide now access to more detailed battery and power information from the system. There is also currentPowerState and currentThermalState properties in SystemDeviceInfo.

Following new features are available in QSystemDeviceInfo:
* Device lock status information now details whether the security PIN/password lock is on or just screen is locked by user.
* New uniqueDeviceID property.
* New currentPowerState and currentThermalState properties. Note: a property called "powerState&quot; has been removed that was in Qt Mobility 1.1.
* Devices with slide or flip-open keypads/keyboards there's now ability to check the state or get notifications when user opens or closes the device keyboard with isKeyboardFlippedOpen property and keyboardFlipped signal.
* Possibility to check if wireless Bluetooth keyboard is in use with isWirelessKeyboardConnected property.
* An indication if keypad light is on with keypadLightOn function.
* Previously there was currentProfile property for getting information of the active sound profile. Now there is more information from active profile using new activeProfileDetails function: ringtone volume and vibration information.
* More detailed product information with productName property. The model introduces in Qt Mobility 1.1.
* ProductName now returns Symbian device type (something like "RM-596&quot;). Use the Model for normal end user device name ("N8&quot;).

New in QSystemInfo:
* System FM transmitter feature can be queried.

New in QDisplayInfo:
* UI orientation state and notifications.
* Display backlight state information: dimmed, on or off via backlightStatus function.
* Returns now also display contrast, physical width and height, dots per inch width and height information.

New in QSystemStorageInfo:
* Drive storage space level notifications with storageStateChanged. Allows app to get notification when a drive storage space reaches a defined threshold level.
* Ability to check if a drive is virtual RAM drive or internal flash drive.
* A function to return drive as an URI.

New in QSystemNetworkInfo:
* Signal cellIdChanged can be used to detect when user roams between the network cells.
* New cellDataTechnology property informs of the cellular data technology in use: GPRS, EDGE, 3G, HSPA. LTE is also added as possible value in NetworkMode returned from currentMode.

Note: Qt Mobility 1.2 has a new API called QSystemAlignedTimer which is also known as heart-beat API. This class is not supported in Symbian but only in MeeGo 1.2 Harmattan (Nokia N9). For Nokia N9 there is also AlignedTimer QML element to access this API.

Sensors API

There is no significant changes in the Sensor API:
* Possibility to see what filters have been added to the sensor via the API.
* The QML bindings have been updated, there's new QML elements and the documentation is made better for the ones already made available from 1.1.
* New sensor types and classes for gyroscope and light sensors are made available in API for future use. At the moment there is no devices having these sensors however.

Messaging API

  • Wild card search support was added for filtering messages. Several new methods added to make this possible in filter classes: QMessageFilter, QMessageFolderFilter and QMessageAccountFilter.
  • Filtering based on specific (to, cc, bcc) recipient fields separately in QMessageFilter using byTo, byCc and byBcc member functions.
  • Explicit synchronization request is possible via QMessageService::synchronize.
  • Account deletion and signal for account deletion QMessageManager.
  • Move messages to a folder using QMessageService::moveMessages.

Multimedia API

Now there is the ability to specify the networking access point to be used for streaming media. Symbian devices have device wide video streaming access point which is used by default. The issue is that the default access point may not be set or is set to wrong or non-working value. For many cases applications want to either use the same access point as for normal networking that is guaranteed to work better, or use some dedicated one.

In Symbian the QAudioOutput::suspend now is implemented using real pause functionality in the backend. Earlier suspend did stop internally as pause functionality was missing some Symbian OS releases that are no longer supported. Now suspend and resume is faster operation.

Contacts API

  • New class QContactObserver for doing contact change monitoring for a specific contact item.
  • Ability to set maximum search limits for QContactManger allowing to speed up search results when certain amount of contacts data is sufficient or needed. This is achieved using the new QContactFetchHint::setMaxCountHint member function.

Publish and Subscribe API

QML bindings added for this API for publishing with ValueSpacePublisher element.

Location API

QML elements for Map use cases were significantly updated in Qt Mobility 1.2. This has created also some compatibility issues to Qt Mobility 1.1 when these elements are used. Applications using QML Map related elements are advised to use Qt Mobility 1.2 and the import QtMobility.location 1.2.

Following features are provided in QML for maps:
* Support for visual mapping and the ability to choose the map plugin used. Element: Map, Plugin, PluginParameter.
* Basic level Map/coordinate optimized mouse handling. Elements: MapMouseArea, MapMouseEvent.
* Basic level support for Map objects to show visual elements on the Map. Elements: MapImage, MapText, MapRectangle, MapPolyline, MapPolygon, MapCircle, MapGroup, MapObjectView, MapObject.

API now allows to prevent a QGeoMapPixmapObject from being scaled when zooming occurs. This is useful if application design needs that the pixmaps like icons on the map do not adjust to the zoom factor. This can be achieved using new units property in QGeoMapObject.

There is support for QGraphicsItem based based map objects with new QGeoMapCustomObject class.

As an advanced feature, the Location API now also allows 3rd parties to implement additional position sources with plugins.