Revision as of 16:43, 4 June 2012 by galazzo (Talk | contribs)

QReverseGeocode component for quick reverse geocoding in QML

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Code Example
Source file: QReverseGeocode Nokia Project
Tested with
Devices(s): Nokia N8, Nokia C7-00
Platform Security
Capabilities: NetworkServices
Keywords: Reverse Geocode
Created: galazzo (04 Jun 2012)
Last edited: galazzo (04 Jun 2012)



Reverse geocoding is the process of back (reverse) coding of a point location (latitude, longitude) to a readable address or place name. This permits the identification of nearby street addresses, places, and/or areal subdivisions such as neighbourhoods, county, state, or country. Combined with geocoding and routing services, reverse geocoding is a critical component of mobile location-based services.
Nokia provides one of the best location based services available and reverse geocoding is well supported in Qt/C++ and HTML5, but is not so fast to access to this service from QML.
QReverseGeocode provide a quick and easy solution to manage reverse geocoding from QML.


  1. Download source code from here
  2. Include QReverseGeocode directory into your project




#include <QtGui/QApplication>
#include "qmlapplicationviewer.h"
#include <QtDeclarative>
#include "qreversegeocode.h"
Q_DECL_EXPORT int main(int argc, char *argv[])
QScopedPointer<QApplication> app(createApplication(argc, argv));
qmlRegisterType<QReverseGeocode>("QReverseGeocode", 1, 0, "QReverseGeocode");
QmlApplicationViewer viewer;
return app->exec();


Note.pngNote: QReverseGeocode have to be used in conjunction with PositionSource component as shown below

import QtQuick 1.1
import com.nokia.symbian 1.1
import QtWebKit 1.0
import QtMobility.location 1.2
import QReverseGeocode 1.0
Page {
id: mainPage
Text {
id: place
text: ""
PositionSource {
id: positionSource
active: true
onPositionChanged: {
reverseGeocoder.latitude = positionSource.position.coordinate.latitude
reverseGeocoder.longitude = positionSource.position.coordinate.longitude
QReverseGeocode {
place.text=reverseGeocoder.postCode+" "+reverseGeocoder.city

API Reference

Properties ( To use before calling process() )

  • latitude - Property that hold the latitude value
  • longitude - Property that hold the longitude value

Properties ( Filled when onReverseGeocodeFinished() is emitted )

  • city - Property that hold the city value
  • postCode - Property that hold post code value
  • street - Property that hold the street value
  • country - Property that hold the country value

Signals (handlers)

  • onLatitudeChanged() - Invoked when latitude property changes.
  • onLongitudeChanged() - Invoked when the longitude changes.
  • onReverseGeocodeFinished() - Invoked when the reverse geocode process is finished.


  • process() - Start the reverse geocoding process. Before calling this method the latitude and longitude properties have to be filled.
79 page views in the last 30 days.