works for me: Qt 5.7, 5.8
Android 6.0.1, Android 7, iOS 10.2.1

QT += qml quick core network positioning


importQtPositioning5.3


        PositionSource {
            id: positionSource
            updateInterval: 5000
            onPositionChanged: {
                var myCoordinate = {
                    "latitude" : position.coordinate.latitude,
                    "longitude" : position.coordinate.longitude,
                    "timestamp" : position.timestamp
                }
                dataUtil.setCurrentLocation(myCoordinate)
                dataServer.requestCurrentWeather(myCoordinate.latitude,
myCoordinate.longitude)
                // stop() because we only want a single position
                stop()
            }
            onSourceErrorChanged: {
                if (sourceError == PositionSource.NoError) {
                    console.log ("NO ERROR")
                    return
                }
                if (sourceError == PositionSource.AccessError) {
                    // on iOS ? att missed keys to info.plist
                    console.log ("PositionSource ACCESS ERROR")
                }
                if (sourceError == PositionSource.ClosedError) {
                    console.log ("PositionSource CLOSED ERROR")
                }
                if (sourceError == PositionSource.UnknownSourceError) {
                    console.log ("PositionSource UNKNOWN ERROR")
                }
                console.log("Source error: " + sourceError + " is GPS ON ?")
                active = false
            }
            onUpdateTimeout: {
                console.log ("TIMEOUT POSITION Source")
                active = false
            }
        } // positionSource




Am 06.04.17 um 22:32 schrieb Jason H:
> PositionSource.update() doesn't do anything. However valid is true, but 
> latitude and longitude are both NaN.
>
> When using start()/active:
>
> D/QtPositioning(21346): Stopping updates
> W/System.err(21346): java.lang.IllegalArgumentException: invalid listener: 
> null
> W/System.err(21346): at 
> android.location.LocationManager.checkListener(LocationManager.java:1749)
> W/System.err(21346): at 
> android.location.LocationManager.removeUpdates(LocationManager.java:910)
> W/System.err(21346): at 
> org.qtproject.qt5.android.positioning.QtPositioning.removeActiveListener(QtPositioning.java:228)
> W/System.err(21346): at 
> org.qtproject.qt5.android.positioning.QtPositioning.stopUpdates(QtPositioning.java:294)
> D/liboapp.so(21346): qrc:///main.qml:125 (expression for onUpdateTimeout):
> qml: PositionSource: update timed out
>
> Does anyone know how to fix this? It worked in 5.6... I can't backport, my 
> entire UI is in QtQuickControls 2.0
>
>
> I have:
> QT += positioning
> import QtPositioning 5.2
> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to