簡體   English   中英

使用Google Play服務盡快獲取當前位置?

[英]Get current location as fast as possible with Google Play Services?

我正在開發一個Android應用程序,需要在其中獲取當前位置。 我已經成功編寫了代碼,並且正在使用Google Play服務獲取當前位置。

問題是有時它會在很長一段時間后為我提供位置。 我注意到這僅是該應用程序的首次使用。

有什么方法可以避免此問題並快速獲得當前位置? 它與我的代碼中的Google Play服務版本有關嗎? (實際上,我沒有在使用最后一個,而我正在使用版本9.8.0。)

正如@tahsinRupam所說,避免使用getLastLocation因為它很容易返回null。 它還不要求新的位置,因此即使您找到一個位置,它也可能很舊,無法反映當前位置。 您可能需要檢查此線程中的示例代碼: 快速獲取當前位置,並在android中獲取一次

 public void foo(Context context) { // when you need location // if inside activity context = this; SingleShotLocationProvider.requestSingleUpdate(context, new SingleShotLocationProvider.LocationCallback() { @Override public void onNewLocationAvailable(GPSCoordinates location) { Log.d("Location", "my location is " + location.toString()); } }); } 

您可能需要驗證經度/緯度是實際值,而不是0或其他值。 如果我沒記錯的話,這不應拋出NPE,但您可能需要驗證一下。

這是另一篇SO文章,可能對您有所幫助:

暫無
暫無

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

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