2011-12-01 3 views
10

Iは、ユーザ、すなわちregionWillChangeAnimated:regionDidChangeAnimated:イベントの間、/は、地図をパンズームながら正確MKMapViewcenterCoordinateを追跡する必要があります。トラッキングMKMapViewのcenterCoordinate

MKAnnotationを地図の中心に固定しようとすると、次の方法がテストされました。残念ながら、それらのどれも十分に動作しません:UIPanGestureRecognizerを使用して

  • は(hereを説明するように):これは非常によく、ディスプレイをタッチしている間に動作しますが、タッチジェスチャが完了した後、マップがアニメ化されている間は更新されません。 。さらに、更新は実際のcenterCoordinateより遅れています。

  • UIScrollViewDelegate I subclassed MKMapViewを使用してscrollViewDidScroll:イベントを受信します。これはうまくいきましたが、すべてのスクロール・インクリメントでイベントがトリガーされるわけではありません。 KVO通知使用

  • :以下thisパターンは、私が観察してみましたのMapViewのcenterCoordinateuserLocationで動作しますが、centerCoordinateの通知は送信されないようです。

centerCoordinateを効果的かつ正確に追跡する方法はありますか?

KVOが最良の賭けのようでした。 MKMapViewcenterCoordinateのプロパティで動作させるためのトリックはありますか?

+1

KVO通知でこれを解決しましたか? – Jann

答えて

0

私が正しく理解していれば、常に画面の中央にある何か(あなたの場合は注釈)をしようとしているのでしょうか? この注釈がどのように使用されているかわかりませんが、注釈として機能する別の透過ビューをマップの上に配置することもできます(このビューをマップと同じサイズにして、 。ユーザーにも同じ効果があります。地域が変わったよりも、あなたはcenterCoordinateを取得し、必要な処理を行うことができます。ユーザーが地図をパ​​ンしたりピンチしたりするときに、処理を行う必要はないと思います...注釈は固定座標を意味します。