【发布时间】:2011-12-23 00:28:19
【问题描述】:
我正在尝试通过 LocationManager 设置一个快速而肮脏的 GPS 查找,它每半秒获取一个网络位置(500 米内),持续 10 秒。换句话说,我只是想找到正确的粗略标准设置和正确的逻辑,以便在我的 Handler 线程中没有更好的位置 10 秒后停止检查。
我认为我的主循环应该是这样的:
/**
* Iteration step time.
*/
private static final int ITERATION_TIMEOUT_STEP = 500; //half-sec intervals
public void run(){
boolean stop = false;
counts++;
if(DEBUG){
Log.d(TAG, "counts=" + counts);
}
//if timeout (10 secs) exceeded, stop tying
if(counts > 20){
stop = true;
}
//location from my listener
if(bestLocation != null){
//remove all network and handler callbacks
} else {
if(!stop){
handler.postDelayed(this, ITERATION_TIMEOUT_STEP);
} else {
//remove callbacks
}
}
}
我想知道的是,在我获取最后一个已知位置作为我的初始最佳位置并启动我的线程之后,我如何设置粗略标准,以便我收到比最初的更准确的标准(按顺序比较两者的新鲜度),这通常与我当前的位置完全不同?
【问题讨论】:
标签: android gps location criteria