次の場合に呼び出されるアニメーションを設定しています。
- ユーザーがマップをリロードする
- ユーザーが地図の地域を変更する
- theMapView didAppear が呼び出されます。
1 と 3 を処理するには、次のようにします。
[self.theMapView setCenterCoordinate:[BGMDCachedProperties singleton].mapCenterLocation.coordinate animated:YES];
これで、その直後に「doanimation」を呼び出すことができます。
問題は、[self.theMapView setCenterCoordinate:[BGMDCachedProperties singleton].mapCenterLocation.coordinate animation:YES]; の場合です。リージョンを変更すると、doanimation は既に呼び出されています。doanimation を再度呼び出すと、2 回呼び出されます。
doanimation を、立て続けに 2 回ではなく、1 回だけ呼び出したい。