當您開始第二次地圖活動時,請將縮放級別保存爲意圖中的額外值。然後將其加載到第二個地圖活動中並相應地設置縮放級別。
保存在第一張地圖的活動:
Intent map2Intent = new Intent(this, Map2Activity.class);
map2Intent.putExtra("zoomLevel", mapView.getZoomLevel());
startActivity(map2Intent);
加載第二:
Bundle extras = getIntent().getExtras();
if (extras != null) {
int zoom = extras.getInt("zoomLevel");
mapView.setZoomLevel(zoom);
}
編輯:重新閱讀您的問題
後,我意識到我誤會了。從地圖2回國後得到地圖1相同的縮放級別,你可以保存在SharedPreferences值,這樣
SharedPreferences settings = getPreferences(0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("zoomLevel", mapView.getZoomLevel());
editor.commit();
然後用startActivityForResult(Intent, REQUEST_CODE
啓動活動,其中REQUEST_CODE
是您以後使用整數,以確定你在哪裏正在回來。現在執行onActivityResult方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case CHANGE_BUILDING:
SharedPreferences settings = getPreferences(0);
mapView.setZoomLevel(settings.getInt("zoomLevel", 0));
}
}