我需要使用requestLocationUpdates()獲取位置更新時,一些指定的距離或某些特定的距離。requestLocationUpdates得到更新時,一些距離更改/旅行
我需要這個僅在距離基礎上更新,而不是時間基準。
請建議....
我需要使用requestLocationUpdates()獲取位置更新時,一些指定的距離或某些特定的距離。requestLocationUpdates得到更新時,一些距離更改/旅行
我需要這個僅在距離基礎上更新,而不是時間基準。
請建議....
The documentation has a good answer.
公共無效requestLocationUpdates(字符串提供商,長minTime, 浮動minDistance纔會,LocationListener的偵聽器)
如果minDistance纔會大於0,一如果設備按minDistance米移動,則只能播放位置 。爲了獲得通知作爲 頻繁地,設置兩個參數爲0。
位置變化將通過OnLocationChange()
通過在requestLocationUpdates()
登記的LocationListener
稱爲被檢測到。
要忽略位置請求之間的時間延遲,只需將其指定爲0.這樣就是0秒延遲,這意味着沒有延遲。
LocationManager yourLoc = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
yourLoc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, onLocationChange);
上面的例子每隔1米變化一次。
嘗試設置minTime參數爲一個整數的最大值或漂浮在Java中,這樣,它會得到由minDistance纔會叫之前minTime
感謝您的答覆.....但我需要的時候通知我的位置改變了一些金額,無論頻繁更新,即minTime參數.....例如當我的位置改變了100米....請提供一些例子,如果可能的話....謝謝 –
如果你只想檢測一個最小距離,比你需要指定一個minDistance。要知道位置之間的確切距離的唯一方法是記錄最後一個位置。然後你可以使用Location.distanceBetween()來知道確切的增量。 – Ian
所以我們不能使用requestLocationUpdates()完成這個任務....我真的很困惑這裏。請指導 –