2013-02-06 73 views
1

我正在設計基於地圖的應用程序,並且我想在獲取用戶位置(地圖上顯示藍點)時執行一些步驟。在某些設備上,由於位置服務的升級過程,可能需要1分鐘。所以問題是我怎麼知道Android Map何時設法獲取我的位置,因此我可以開始執行初始化過程的其餘部分?僅在獲取當前位置時執行一些操作

我在考慮實現我自己的LocationListener並觸發回撥時,當我收到位置,但這種解決方案似乎毫無價值,因爲我只需要知道當前位置已被獲取和藍點已被顯示的點。我不關心位置更新。

+0

@ Ty221正如我所說的,我試圖實現'LocationListener',但是爲了得到第一個最新的位置,有太多的麻煩。我正在尋找其他方法來實現我的使用案例 –

+1

好的,對不起。我取消了我的downvote並刪除了我的評論 – TN888

回答

1

如果你正在談論地圖上的藍點,我想你會在地圖上添加MyLocationOverlay。如果是這樣,有一個簡單的方法做你想要的東西 - MyLocationOverlayrunOnFirstFix(Rannable)接口,所以提供Runnable將盡快地圖獲取您的當前位置運行:

this.currentLocationOverlay.runOnFirstFix(new Runnable() { 
     @Override 
     public void run() { 
      //do your magic here 
     } 
    }); 
+0

剛剛嘗試過 - 效果很棒!這正是我所期待的!謝謝! –