2011-08-09 4 views
0

ユーザーの場所にオーバーレイイメージを含むマップアクティビティを作成しようとしています。現在、onRetainNonConfigurationInstanceのmapV.getMapCenter()を返すことによって、画面が回転しているときにマップ状態を維持できます。Androidの画面の向きにマップオーバーレイと現在のマップセンターを保存するにはどうすればいいですか?

しかし、画面の回転時に地図の状態とユーザーの場所(オーバーレイ画像)を保存するにはどうすればよいですか?

答えて

0

ユーザーホルダーオブジェクト。

private class Holder{ 
    public Overlay image; 
    public GeoPoint center; 

    public Holder(Overlay image, GeoPoint center){ 
     this.image = image; 
     this.center = center; 
    } 
} 

@Override 
public Object onRetainNonConfigurationInstance() { 
    return new Holder(image, center); 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    Holder holder = (Holder) getLastNonConfigurationInstance(); 
    if (holder != null) { 
      overlay = new ItemOverlay(); 
      overlay.setFocus(holder.overlay.getFocus()); 

      mapOverlays.add(overlay); 
      } 
    } 
+0

ありがとうございました。 onCreate()メソッドの内部または主なアクティビティスコープ内でホルダーオブジェクトクラスが使用されていますか? – Ahmed

+0

@Faisal私は私の答えを編集しました。それはあなたの質問に答えますか? –

+0

残念ながら、バックトラックはありません。画面が回転するとオーバーレイと同様にユーザーの場所(GeoPoint)を保存したいと考えています。つまり、画像がシカゴにある場合は画面を回転し、シカゴでのアップ。現時点では、マップはイメージオーバーレイなしでGeoPointに再描画されます。 – Ahmed

関連する問題