簡體   English   中英

來自Android中GPS_PROVIDER或NETWORK_PROVIDER的位置不一致

[英]Location from GPS_PROVIDER or NETWORK_PROVIDER in android is not consistent

我要做什么

  • 使用Service以指定的時間間隔獲取用戶位置,以便只要應用程序正在運行,就可以檢索Location

我面臨的問題

  • 即使我長時間處於同一位置,每次LatitudeLongitude也會以不同的Accuracy級別變化
  • 因此,即使用戶未更改其位置,如果我在GoogleMap繪制Location ,它18.0f由於我的縮放級別18.0f而跳到非常近的位置
  • mGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(currentLatLon, 18.0f));

我已經嘗試了stackoverflow鏈接一stackoverflow鏈接二中提到的方法

但是,即使我以相同的時間間隔坐在相同的位置並取回位置,緯度和經度也會有所不同, 請參見每個緯度結尾處的突出顯示的值

緯度:12.8379 283長:經度:77.6647 266

緯度:12.8379 233長:經度:77.6647 368

緯度:12.8379 285經度:經度:77.6647 506

緯度:12.8379 245長:經度:77.6647 546

但是每次Accuracy不同並且緯度也會略有變化。

因為我的代碼試用版與鏈接的中提到的完全相同,所以我不僅在這里復制粘貼。 如何解決

GPS的精度不是絕對的,因此即使是靜態設備也將在連續的讀數中顯示不同的位置。 請嘗試以下操作:

  1. 您可以添加一種方法來檢測手機是否靜態,方法是讀取加速度計-如果兩個讀數之間的差值大於某個閾值-設備正在移動。 如果太小-它不會移動。 要確定增量-將設備放在桌子上,看看會得到什么值。
  2. 忽略接近的讀數-以較高的准確度獲取第一個讀數(<20m或您確定的其他值)並將其用作參考-如果下一個讀數距離參考值很小(小於10m或其他值),則忽略它。 如果更大,請將其設置為新參考。

嘗試設置Accuracy_HIGH並設置時間限制和距離限制。
嘗試使用Google Places融合api進行與位置相關的工作。 請參閱此處: -http : //coderzpassion.com/android-location-using-google-play-services/

暫無
暫無

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

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