Я работаю с новым API GoogleMaps (v2) и имею некоторые проблемы с фрагментом. У меня есть два фрагмента в моем приложении (Карта, Список), и пользователь может переключаться между ними. До сих пор работает с этим кодом:
if (itemPosition == 0) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragmentpos, myMapFragment).commit();
} else if (itemPosition == 1) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragmentpos, myListFragment).commit();
}......
Когда я работаю с картой, переключаюсь на фрагмент списка, а затем обратно на фрагмент карты, последняя позиция карты не сохраняется. Это не то, что я хочу, я хочу, чтобы карта находилась в состоянии сохранения, так как я "оставил" ее. Как я могу это сделать? Я попытался сохранить положение камеры в
public void onSaveInstanceState(Bundle outState){
outState.putDouble("LAT", mMap.getCameraPosition().target.latitude);
outState.putDouble("LON", mMap.getCameraPosition().target.longitude);
outState.putFloat("BEAR", mMap.getCameraPosition().bearing);
...
}
и восстановить его в onCreateView(), но Bundle всегда имеет значение null. OnSaveInstanceState не вызывается, если я заменяю фрагменты.
Итак, как я могу сохранить состояние карты?