I have a code which determine my position on google map by a marker when the position is changed the previous marker remains and it repeats in the new position. I want to have only marker when updating the position. Here is my code :
public class MainActivity extends FragmentActivity {
private GoogleMap map;
Marker marker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
map.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
networkLocation();
}
private void animateToLocation(double latitude, double longtitude) {
LatLng latlang = new LatLng(latitude, longtitude);
CameraPosition position1 = CameraPosition.builder().target(latlang)
.zoom(15).build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(position1));
marker = map.addMarker(new MarkerOptions().title("TEST").position(
latlang));
map.getUiSettings().setCompassEnabled(true);
map.getUiSettings().setZoomControlsEnabled(true);
map.animateCamera(CameraUpdateFactory.newLatLngZoom(latlang, 100));
}
public void networkLocation() {
G.locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0, new LocationListener() {
@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onLocationChanged(Location location) {
animateToLocation(location.getLatitude(),
location.getLongitude());
}
});
}
}