Cordova 表位音差的一致性

Cordova 表位音差的一致性,cordova,phonegap-build,Cordova,Phonegap Build,我的phonegap应用程序中有此代码 var-options={timeout:180000}; navigator.geolocation.watchPosition(onSuccess、onError、options); 应该是这样的,它每3分钟就会发射一次,但问题是它每1秒或每5秒发射一次。简言之,时间间隔没有一致性。有没有其他方法可以在精确的时间间隔内得到结果?如果我在后台模式下运行它,是否有方法使用此间隔继续跟踪位置。谢谢。超时只需设置从呼叫获取当前位置到返回位置所允许的最长时间。

我的phonegap应用程序中有此代码

var-options={timeout:180000};
navigator.geolocation.watchPosition(onSuccess、onError、options);

应该是这样的,它每3分钟就会发射一次,但问题是它每1秒或每5秒发射一次。简言之,时间间隔没有一致性。有没有其他方法可以在精确的时间间隔内得到结果?如果我在后台模式下运行它,是否有方法使用此间隔继续跟踪位置。谢谢。

超时只需设置从呼叫获取当前位置到返回位置所允许的最长时间。这并不影响它发送当前位置的频率,但当它无法在您的超时时间内(在您的情况下为3分钟)获取位置时,会触发onError

至于后台模式,在Android和iPhone上都可以。在Android上,这似乎是默认行为。对于iPhone,在Xcode中转到目标->信息->右键单击添加行。选择“所需背景模式”,单击+符号,并选择“应用程序注册位置更新”作为值


编辑:如果您真的打算每3分钟检查一次地理位置(而且速度不如GPS响应的快),我建议编写一个函数,使用setInterval()调用geolocation.getCurrentPosition,而不是使用watchPosition。

对此我很好奇。我看到一些人声称,在后台运行getCurrentPosition所需的全部工作就是更改.plist文件中的一行。是否有关于此步骤或任何其他步骤的更多信息?我有答案中描述的确切场景。setInterval,getCurrentPosition,带有修改的.plist。仍然没有背景GPS。还有其他信息吗?