Я разрабатываю приложение для Android, и у меня есть карта google по одному из видов деятельности. Карта содержит маркер, и координаты маркера будут обновляться каждые 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 на сервер:
new getXCoordinates().execute();
new getYCoordinates().execute();
I попытался вызвать функцию для обновления координат и маркера в функции OnCreate, но это не работает. Я не могу узнать, как вызвать функцию повторно через 10 секунд, чтобы обновить маркер.
Im с java.lang.NullPointerException error, когда handler.postDelayed (это 10000); выполняется. –