2011-12-14 61 views
0

如何在跟蹤GPS時更新地圖?如何使用意圖更新谷歌地圖?(Android Java)

getmap()單擊按鈕時正在調用。

public void getMap() { 

    //if (a != 101.717026 || b!= 3.002034) { 

    Toast.makeText(TestdbActivity.this,newaddress, Toast.LENGTH_LONG).show(); 
    Intent i = new Intent(Intent.ACTION_VIEW, 
         Uri.parse("http://http://maps.google.com.my/maps?f=d&source=s_d&saddr="+newaddress+"&daddr="+params1+"")); 
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK 
      & Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 
    i.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"); 
    startActivity(i); 
} 

updategps功能:

public void onLocationChanged(Location location) { 
    a = location.getLongitude(); 
    b = location.getLatitude(); 
    String message = String.format("New Location \n Longitude: %1$s \n Latitude: %2$s", a, b); 
    Toast.makeText(TestdbActivity.this, message, Toast.LENGTH_LONG).show(); 
    newaddress = b+","+ a; 
    return; 
} 

public void onStatusChanged(String s, int i, Bundle b) { 
    Toast.makeText(TestdbActivity.this, "Provider status changed",Toast.LENGTH_LONG).show(); 
} 

public void onProviderDisabled(String s) { 
    Toast.makeText(TestdbActivity.this,"Provider disabled by the user. GPS turned off",Toast.LENGTH_LONG).show(); 
} 

public void onProviderEnabled(String s) { 
    Toast.makeText(TestdbActivity.this,"Provider enabled by the user. GPS turned on", Toast.LENGTH_LONG).show(); 
} 

我可以做一個while循環?如果使用while循環?

回答

0

那麼,如果你想要更新地圖,顯示地圖的正常解決方案就是將mapView放入你自己的活動中,而不是讓你的活動啓動地圖應用程序。你有這樣做的好理由嗎?按照您現在的方式進行操作,只要您啓動MapsActivity並放鬆控制,您的應用程序就會沿着活動堆棧向下移動。

一旦在位置管理器中註冊onLocationChanged將被定期調用,所以你只需更新那裏的地圖。當然,在您自己的活動中使用mapView時,您可以將其設置爲自動。

Here是關於地圖API的頁面。 this是從上面引用的教程。

+0

好吧,我想我得到你的觀點。那麼是你爲我推薦的教程嗎?因爲我仍然是Android java的初學者。在此先感謝 – Tai 2011-12-14 17:01:48