我正在开发一个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错误;被执行。 –