簡體   English   中英

查找GPS_Provider和Network_Provider在同一時間獲得的位置

[英]Finding the location obtained by GPS_Provider and Network_Provider at the same time stamp

我一直在嘗試每5分鍾查找一次GPS_ProviderNetwork_Provider獲得的位置,並在同一時間戳上查找在任何特定時間獲得的兩個值。

我嘗試使用以下給定的位置策略

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
      // Called when a new location is found by the network location provider.
      makeUseOfNewLocation(location);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {}

    public void onProviderDisabled(String provider) {}
  };

// Register the listener with the Location Manager to receive location updates
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 300000, 0, locationListener)
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,300000, 0, locationListener)

但是在這里,如果自上次位置更新以來的時間大於notificationInterval則位置管理器將調用偵聽器的onLocationChanged()方法。

這使我每隔5分鍾在GPS_ProviderNetwork_Provider生成的值之間存在一些時間戳差異。有什么辦法可以找到GPS_ProviderNetwork_Provider在同一時間戳下生成的位置。

例:

現在: GPS_Provider (緯度,經度)在09: GPS_Provider : GPS_ProviderNetwork_Provider (緯度,經度)在09:35:14

我需要: GPS_Provider (緯度,經度)在09: GPS_Provider : GPS_ProviderNetwork_Provider (緯度,經度)在09:35:12

簡而言之,沒有。
位置api不能以同步方式工作,這意味着您無法保證何時確切獲得更新。 您提供的時間范圍說明了兩次更新之間的最大間隔。
話雖這么說,您可以以較低的間隔(例如50ms)開始更新,並獲取大量更新,並按時間戳的第二秒對其進行排序,並獲得具有相同值的更新。

更新資料


您可以使用getLastKnownLocation方法獲取提供者已知的最后位置,請在此處查看文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM