Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct

    Getting current location on Symbian^3 (Anna, Belle) devices

    QML and Qt Quick
    4
    4
    2370
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hoanghua last edited by

      Hi all,

      I'm writing an application that needs to get the current location of the user using QtMobility and PositionSource QML element. The code is working well with our testing N9 device; however, seems to be unable to get the current location on Symbian devices. We've tried with a very simple example on the documentation like:

      main.qml
      @
      import QtQuick 1.1
      import QtMobility.location 1.2

      Rectangle {
      id: page
      width: 350
      height: 350
      PositionSource {
      id: positionSource
      updateInterval: 1000
      active: true
      // nmeaSource: "nmealog.txt"
      }
      Column {
      Text {text: "<==== PositionSource ====>"}
      Text {text: "positioningMethod: " + printableMethod(positionSource.positioningMethod)}
      Text {text: "nmeaSource: " + positionSource.nmeaSource}
      Text {text: "updateInterval: " + positionSource.updateInterval}
      Text {text: "active: " + positionSource.active}
      Text {text: "<==== Position ====>"}
      Text {text: "latitude: " + positionSource.position.coordinate.latitude}
      Text {text: "longitude: " + positionSource.position.coordinate.longitude}
      Text {text: "altitude: " + positionSource.position.coordinate.altitude}
      Text {text: "speed: " + positionSource.position.speed}
      Text {text: "timestamp: " + positionSource.position.timestamp}
      Text {text: "altitudeValid: " + positionSource.position.altitudeValid}
      Text {text: "longitudeValid: " + positionSource.position.longitudeValid}
      Text {text: "latitudeValid: " + positionSource.position.latitudeValid}
      Text {text: "speedValid: " + positionSource.position.speedValid}
      }
      function printableMethod(method) {
      if (method == PositionSource.SatellitePositioningMethod)
      return "Satellite";
      else if (method == PositionSource.NoPositioningMethod)
      return "Not available"
      else if (method == PositionSource.NonSatellitePositioningMethod)
      return "Non-satellite"
      else if (method == PositionSource.AllPositioningMethods)
      return "All/multiple"
      return "source error";
      }
      }
      @

      untitled.pro
      @

      Add more folders to ship with the application, here

      folder_01.source = qml/untitled
      folder_01.target = qml
      DEPLOYMENTFOLDERS = folder_01

      Additional import path used to resolve QML modules in Creator's code model

      QML_IMPORT_PATH =

      symbian:TARGET.UID3 = 0xE5101660

      Smart Installer package's UID

      This UID is from the protected range and therefore the package will

      fail to install if self-signed. By default qmake uses the unprotected

      range value if unprotected UID is defined for the application and

      0x2002CCCF value if protected UID is given to the application

      #symbian:DEPLOYMENT.installer_header = 0x2002CCCF

      Allow network access on Symbian

      symbian:TARGET.CAPABILITY += NetworkServices Location

      If your application uses the Qt Mobility libraries, uncomment the following

      lines and add the respective components to the MOBILITY variable.

      CONFIG += mobility
      MOBILITY += location

      Speed up launching on MeeGo/Harmattan when using applauncherd daemon

      CONFIG += qdeclarative-boostable

      Add dependency to Symbian components

      CONFIG += qt-components

      The .cpp file which was generated for your project. Feel free to hack it.

      SOURCES += main.cpp

      Please do not modify the following two lines. Required for deployment.

      include(qmlapplicationviewer/qmlapplicationviewer.pri)
      qtcAddDeployment()
      @

      I can see the GPS symbol is activated on the device; however, after waiting for a long time, the application cannot get the location. Code is tested on Nokia X7 and 603.

      Have someone met this issue before?

      Thanks,

      1 Reply Last reply Reply Quote 0
      • Y
        yazwas last edited by

        Good day

        I'm trying exactly the same example and I'm not getting anything, also in the .pro file I've added the location capability, but nothing is happening

        any suggestions?

        Thanks

        1 Reply Last reply Reply Quote 0
        • D
          dicksonleong last edited by

          Try adding "LocalServices ReadUserData WriteUserData ReadDeviceData WriteDeviceData" to the symbian capabilities, those are required capabilities according to the "docs":http://doc.qt.nokia.com/qtmobility-1.2.1/quickstart.html

          1 Reply Last reply Reply Quote 0
          • C
            cmer4 last edited by

            Hi all,

            Search for some posts - there is a specific bug in PositionSource which causes your device to look for GPS data and hanging up on it if no GPS signal is received (hence you see GPS icon).
            This means outside your code will work fine, but PositionSource won't automatically look for non-GPS sources...

            Best workaround is to go with Qt C++ and write custom nonGPS PositionSource.

            Problem will be again if you rely on GPS more - to code something to manage "blending" different sources...

            1 Reply Last reply Reply Quote 0
            • First post
              Last post