簡體   English   中英

Google Maps(Android)中的位置更新率

[英]Location update rate in Google Maps (Android)

我正在寫一個簡單的基於GPS的應用程序來進行位置感知。 每當啟用GPS時,應用程序都會請求位置更新,並在TextView打印緯度和經度。 如果禁用了GPS,則位置提供程序將回退到LocationManager.NETWORK_PROVIDER ,以對相對於相鄰蜂窩塔的設備位置進行三角測量。 目的是每當檢測到設備移動時,都應開始使用緯度/經度填充TextView 當沒有移動時,該過程應停止。 為此,我將位置更新率實現為:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, this);

上一行會導致非常頻繁的位置更新(即使沒有移動,我也會不斷獲得經/緯度值)。 我在某處讀到將minTime=0放置不是一個好主意(電池消耗更快)。 當我將其更改為2或3秒時,更新變得非常慢(即使設備移動了50多米)。 更改minDistance似乎也不起作用! 我想知道Google Maps應用程序使用什么設置? 對於我來說,功耗並不是一個限制因素,因為我正在為某些網絡驅動測試設備開發應用程序(該應用程序從車輛的車載鉛酸電池獲得恆定功率)。

更新的頻率高度依賴於硬件。 好的gps芯片會發送非常頻繁的更新(三星Galaxy S3),盡管有些掙扎甚至無法顯示拉特蘭的位置。 要點是根據距離和時間歸一化接收更新的頻率。 使用各種時間和距離配置,並對其進行測試並使用最合適的值。 對於我的項目,我使用以下值://對於步行用戶

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,5,10,this);

//適用於汽車用戶

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,2,50,this);

暫無
暫無

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

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