2013-04-09 108 views
0

我正在寫一個自定義程序,使用自定義GPS來跟蹤用戶的當前位置。我有一個服務在後臺運行,不斷地在當前位置輪詢GPS傳感器。然後,我開始一個新的活動用下面的代碼:使用谷歌地圖意圖

final Intent intent = new Intent(Intent.ACTION_VIEW, 
     Uri.parse(
      "http://maps.google.com/maps?" + 
     "saddr="+lngstart+","+latstart+"&daddr="+lngend+","+latend)); 
     intent.setClassName(
      "com.google.android.apps.maps", 
     "com.google.android.maps.MapsActivity"); 
      startActivity(intent); 

在研究背景中運行的服務正在不斷計算新geopoints用戶的當前位置。谷歌地圖是以滿意的方式出現的,並且具有我最初提供的數據,但是Id想不斷地向用戶提供當前位置的更新信息。

如何將關於用戶當前位置的更新信息反饋給我開始的地圖活動?

如何禁用試圖使用任何其他傳感器地圖的活動(如手機天線塔,或者使用內置的GPS,記得進出口使用自定義安裝GPS)?

如何ping通運行的活動來獲得包含「腿」的經度和緯度COORDS沿着它繪出的路由列表信息?

最後就是有辦法一個按鈕添加到正在運行的活動,按下時會暫停,並開始一個新的活動?

謝謝:)

回答

0

當你發送此Intent基本上你移動到一個新的應用程序,一個Google Maps application在你Android電話旁邊。 AFAIK你不能控制這個應用程序,因爲這不是你的應用程序的一部分,在這一點上你不能操縱它。所以,你不能添加任何按鈕,或禁用它可能使用的任何傳感器,它的導航(unless you disable them from the settings.

+0

我以爲你可以根據你在字符串值中發送的設置來操作它嗎?任何解釋地圖意圖的所有功能的地方? – 2013-04-09 19:03:06

+0

最好的選擇是:http://stackoverflow.com/questions/2662531/launching-google-maps-directions-via-an-intent-on-android – 2013-04-09 19:09:52

+0

當你打開活動,我們可以通過必要的參數和谷歌地圖將根據參數加載地圖。但是一旦它被加載,你就無法從你的應用程序中控制它。 – 2013-04-09 19:11:22

0

我對你的問題的想法:

如何養活關於用戶的這種更新的信息當前位置到我開始的地圖活動?

一旦你開始了谷歌地圖的活動,你不能再從您的應用程序來控制它。唯一的選擇是用新位置重新創建Google地圖的意圖。

如何禁用地圖活動,試圖使用任何其他傳感器(如手機塔,或使用內置GPS,記得我使用自定義GPS設置)?

如果您正在使用谷歌地圖API則可能是你可以控制。但我從來沒有嘗試過。但是,如果你調用像上面那麼現有的地圖應用程序,我不認爲你有任何控制

如何ping通運行的活動來獲取包含「腿」的經度和緯度COORDS沿線列表的信息它劇情?

不知道這個請求。可能是您可以保存初始位置並獲取當前位置。然後使用這兩個位置並創建地圖

最後是否有一種方法可以將按鈕添加到正在運行的活動中,按下後會暫停它,並開始新的活動?

你可以使用Google Map API來做到這一點,而不是使用谷歌意圖。