我正在构建一个简单的照片应用程序,需要当前图片的 GPS 坐标。我遵循了在 qml 中创建和检查 PositionSource 元素的基础知识(看起来不错)。但是当我访问坐标和时间戳时,它会给我无效的时间和 NaN。
我在qml中添加了import QtPositioning 5.3,在.pro文件中添加了QT += qml quick positioning
这是我的 PositionSource 元素
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);
}
}
当我在 iOS 8.1 (iphone 4s) 上运行该应用程序时,它会提供 AllPositioningMethods 和 Valid True。但是当我打电话时:
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..
更新**** 似乎在 Android 4.4.4 (MotoX) 上运行良好
最佳答案
我遇到了同样的问题。两个关键项目:
确保 QT += positioning 包含在您的 .pro 文件中。它在 Android 上似乎不是必需的,但在 iOS 上是必需的。
确保为您的项目设置自定义 Info.plist ( http://doc.qt.io/qt-5/platform-notes-ios.html ) 并且它包括以下之一:
<key>NSLocationWhenInUseUsageDescription</key>
<string>Explanation to user.</string>
或
<key>NSLocationAlwaysUsageDescription</key>
<string>Explanation to user.</string>
无论你添加哪个,它都会提示你输入什么。
关于ios - QtPositioning 5.3,QML PositionSource 在 ios 8.1 上不返回任何数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26616325/
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上
如果用户是所有者,我有一个条件来检查说删除和文章。delete_articleifuser.owner?另一种方式是user.owner?&&delete_article选择它有什么好处还是它只是一种写作风格 最佳答案 性能不太可能成为该声明的问题。第一个要好得多-它更容易阅读。您future的自己和其他将开始编写代码的人会为此感谢您。 关于ruby-on-rails-如果条件与&&,是否有任何性能提升,我们在StackOverflow上找到一个类似的问题:
如果我想要“00001”而不是“1”,除了我自己写填零方法之外,有没有内置的方法可以帮助我为整数填零? 最佳答案 puts"%05d"%1#00001参见:String::%,Kernel::sprintf这是正在发生的事情。%左侧的"%05d"是C风格的格式说明符。%右边的变量就是要格式化的东西。格式说明符可以像这样解码:%-格式说明符的开头0-用前导零填充5-长度为5个字符d-被格式化的是一个整数如果你要格式化多个东西,你会把它们放在一个数组中:"%d-%s"%[1,"One"]#=>1-one
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。Ruby是一种美丽的语言,但有一个我讨厌写很多次的关键词“结束”。有什么方法可以写出简洁的代码而不用每次都写“end”吗?