【问题标题】:Android - Getting Network GPS location within a short time frame (10 seconds max)Android - 在短时间内(最多 10 秒)获取网络 GPS 位置
【发布时间】: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


    【解决方案1】:

    您正在寻找的是向设备询问获取粗略位置的最佳标准。

    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_COARSE);  // Faster, no GPS fix.
    String provider = locationManager.getBestProvider(criteria, true); // only retrieve enabled providers.
    

    然后注册一个监听器

    locationManager.requestLocationUpdates(provider, ITERATION_TIMEOUT_STEP, MIN_LOCATION_UPDATE_DISTANCE, listener); //listener just implements android.location.LocationListener
    

    在侦听器中,您会收到这样的更新

     void onLocationChanged(Location location) {
         accuracy = location.getAccuracy(); //accuracy of the fix in meters
         timestamp = location.getTime(); //basically what you get from System.currentTimeMillis()
     }
    

    在这一点上,我的建议是仅根据准确性进行排序,因为您无法在 10 秒内改变太多位置,但粗略的位置更新在准确性上差异很大。

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-11
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 2011-02-04
      • 2013-03-25
      • 1970-01-01
      相关资源
      最近更新 更多