[Interest] Qt positioning
Kalinowski Maurice
Maurice.Kalinowski at theqtcompany.com
Tue Aug 11 14:47:59 CEST 2015
Hi,
You could do multiple checks. First, which positioningMethods are available/supported, check the corresponding property. What is the interval set to, if it is too small, you might get a timeout. Does the PositionSource send updateTimeout()?
BR,
Maurice
Von: interest-bounces+maurice.kalinowski=theqtcompany.com at qt-project.org [mailto:interest-bounces+maurice.kalinowski=theqtcompany.com at qt-project.org] Im Auftrag von Federico Buti
Gesendet: Tuesday, August 11, 2015 2:24 PM
An: interest at qt-project.org
Betreff: [Interest] Qt positioning
Hi list,
I was playing around with positioning on Android and I'm not sure if I'm using it properly. I would like to update the position of the cellphone/app ASA the user taps on a button. To achieve this result I've setup my project as follows:
1) added the positioning to the pro:
QT += positioning
2) Added the positioning import to the involved QML file:
import QtPositioning 5.2 // should/must be "import QtPositioning 5.3" or others?
3) Added permissions to manifest
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
4) Added the following code:
StyledButton {
id: mapMarkerButton
Layout.alignment: Qt.AlignHCenter
Layout.preferredHeight: 120 * Params.scaleFactor
Layout.preferredWidth: 120 * Params.scaleFactor
sourceUncheckedImage: "qrc:///pics/pin.png"
onClicked: { gpsPosition.start() }
}
PositionSource {
id: gpsPosition
active:
false
onPositionChanged: {
gpsPosition.st
op()
var coord = position.coordinate;
updateCoordinatesRecord(coord.latitude, coord.longitude) //41.902222, 12.492222)
}
onSourceErrorChanged: {
notify("
...
")
}
}
The idea was to activate the GPS only when required, update the value (probably with a busy dialog on screen) and deactivate it. I could have used the update() method, I know.
Now, if I execute the code on a device with GPS turned off, I've the error "PositionSource.ClosedError". Instead, on the same device with GPS turned on the position is never updated. The same occurs in a newly created project with just this code added.
Qt version is 5.5
What am I missing? What am I doing wrong? The default dialog for GPS activation (i.e. the one shown by Googlemaps for instance) is not shown when position acquisition is started?
Thanks everyone for your time,
F.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150811/2f51c9a9/attachment.html>
More information about the Interest
mailing list