首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QtPositioning 5.3,QML PositionSource在iOS8.1上没有返回数据?

QtPositioning 5.3,QML PositionSource在iOS8.1上没有返回数据?
EN

Stack Overflow用户
提问于 2014-10-29 02:55:28
回答 2查看 1.2K关注 0票数 3

我正在建立一个简单的照片应用程序,需要当前图片的GPS坐标。我已经了解了在qml中创建和检查PositionSource元素的基础知识(看起来还不错)。但是当我访问坐标和时间戳时,它给了我无效的时间和NaN。

我已经在qml和.pro文件中添加了导入QtPositioning 5.3和QT += qml快速定位

下面是我的PositionSource元素

代码语言:javascript
复制
PositionSource {
        id: src
        active: true
        preferredPositioningMethods: PositionSource.SatellitePositioningMethods

        Component.onCompleted: {
            src.start()
            src.update()
            var supPos  = "Unknown"
            if (src.supportedPositioningMethods == PositionSource.NoPositioningMethods) {
                 supPos = "NoPositioningMethods"
            } else if (src.supportedPositioningMethods == PositionSource.AllPositioningMethods) {
                 supPos = "AllPositioningMethods"
            } else if (src.supportedPositioningMethods == PositionSource.SatellitePositioningMethods) {
                 supPos = "SatellitePositioningMethods"
            } else if (src.supportedPositioningMethods == PositionSource.NonSatellitePositioningMethods) {
                 supPos = "NonSatellitePositioningMethods"
            }
            console.log("Position Source Loaded || Supported: "+supPos+" Valid: "+valid)
        }

        onPositionChanged: {
            var coord = src.position.coordinate;
            console.log("Coordinate:", coord.longitude, coord.latitude);
        }
    }

当我在iPhone8.1(IPhone4s)上运行这个应用程序时,它给出了AllPositioningMethods和Valid True。但是当我打电话的时候:

代码语言:javascript
复制
function getPos() {
    var coord = src.position.coordinate;
    posTest.text = "Coordinates lat:"+coord.latitude+" lon:"+coord.longitude+" time:"+src.position.timestamp
}

它只是给了我NaN NaN和无效的时间戳...任何人尝试在真实设备上使用PositionSource元素并使其正常工作...?我很快就会在其他设备上试用它。ios和android..

更新*似乎在安卓4.4.4 (MotoX)上运行良好

EN

回答 2

Stack Overflow用户

发布于 2017-02-11 03:35:36

我遇到了同样的问题。两个关键项目:

  1. 确保QT += positioning包含在.pro文件的内部版本中。
  2. 确保为您的项目设置一个自定义的Info.plist (http://doc.qt.io/qt-5/platform-notes-ios.html),并且它包含以下内容之一:

代码语言:javascript
复制
<key>NSLocationWhenInUseUsageDescription</key>
<string>Explanation to user.</string>

代码语言:javascript
复制
<key>NSLocationAlwaysUsageDescription</key>
<string>Explanation to user.</string>

无论您添加的是哪一个,它都会提示输入。

票数 1
EN

Stack Overflow用户

发布于 2014-10-30 19:15:08

如果您尚未为应用程序启用位置服务,则会发生这种情况。您可以在设置中启用它。

http://www.imore.com/how-grant-restrict-access-location-iphone-ipad

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26616325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档