我使用expo-cli开发了一个应用,但是在ios和android上却得到不一致的结果,尤其是在代码的这一部分,每次我从手机获取GPS位置时,我都会执行一个循环代码,特别是速度。
import * as Location from 'expo-location';
import React from 'react';
class HomeScreen extends React.Component {
componentDidMount(){
let watchID = Location.watchPositionAsync(
{accuracy: 6, timeInterval: 500},
(position) => {
// my recurrent code
}
);
}
}
即使我将其设置为每0.5秒恢复一次速度,Android手机还是相当合理地(每秒或每两秒一次)获得一次,但是iOS设备的播放效果并不理想,有时需要等待30秒才能更新,例如,从一个测量到另一个测量的速度跃升+30 mph。
是否有任何方法可以提高iOS中的GPS刷新率?也许是我没有弄清楚的记录问题?
“ expo”:“ 36.0.0”“展览位置”:“〜8.0.0”“反应”:“ 16.13.1”
自我回答:最后,这是一个仍然在expo-location内部以某种形式存在的错误:需要在Location.watchPositionAsync()函数的options数组中设置distanceInterval选项: