我正在開發一個android應用程序,並且我在其中一個活動上有一個google map。地圖包含一個標記,標記的座標將每隔10秒更新一次。座標將從服務器獲得。 問題:如何更新地圖上的標記位置?x秒後更新標記
這裏是我的mapsActivity.java是什麼樣子:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private String lat = "-25.4316562";
private String lon = "50.6602371";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
LatLng sydney = new LatLng(-100, 35);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker on the drone"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
CameraUpdate zoom=CameraUpdateFactory.zoomTo(17);
mMap.animateCamera(zoom);
}
我有2個功能,將更新全局變量通過發送SSH命令到服務器LAT和LON:
new getXCoordinates().execute();
new getYCoordinates().execute();
我嘗試調用函數來更新OnCreate函數中的座標和標記,但這不起作用。 我無法找到如何在10秒後重復調用一個函數來更新標記。
當handler.postDelayed(this,10000)時,Im有java.lang.NullPointerException錯誤;被執行。 –