9

レイヤーにを追加しCABasicAnimationAnnotationView、マップ ビュー上を移動する車をシミュレートします。

アニメーションの進行中にマップビューをズームインまたはズームアウトしようとするまで、これはうまく機能します。

マップビューをズームすると、アニメーション注釈ビューが消えることがわかりました!!

これは、マップビューをズームしたときに、アニメーション オブジェクトに関連付けられたレイヤーが削除されたことが原因である可能性があります。

ズーム時にアニメーションを停止することでこれを解決しようとしています。しかし、結果は良くありません。車は目標点にジャンプしているようです。

誰でもこれについてアイデアがありますか?

マップビューをズームするときにアニメーションを引き続き実行する方法を知っている人はいますか?

4

3 に答える 3

1

プログラムで問題を解決する方法はわかりませんが、ユーザーがズームを開始したときに車の位置 (ポイント a) を保存し、ズームが完了したら、現在の位置と新しい位置 (ポイント b) の間の距離を計算するとどうなりますか? ) そして、ポイント a からポイント b までアニメーション化します。この方法では、車が 2 番目のターゲット ポイントに「ジャンプ」することはありません。もう少し派手にするには、通常の 2 倍の速度で車の速度を開始し、ポイント "B" に近づくにつれて通常の速度に減速します。これにより、バグではなくエフェクトのように見えるようになると思います。

于 2012-07-24T14:42:26.510 に答える
0

mapView:regionDidChangeAnimated:デリゲートメソッドが使えると思います。ユーザーがスクロール/ズームするたびに、このメソッドが呼び出されます。一度試してみてください。それはあなたを助けるかもしれません。

于 2012-07-30T11:16:53.807 に答える