2009-10-05 5 views
8

ユーザに一連のアノテーションをより便利に表示するために、回転を検討しているMKMapViewがあります。MKMapViewローテーションの経験

現在、私はCGAffineTransformで全体のビューを回転させることを計画していますが、誰かがMKMapViewローテーションに関する経験を持っているかどうかを知りたかったのです。

  • ローテーションを追加するときに遭遇する落とし穴や「落とし穴」はありますか?
  • マップビューを簡単に回転する方法はありますか?
  • オーバーレイがある場合、convertCoordinate:toPointToView:メソッドは同じ方法で動作しますか?私は、ポイントを整列させるためにオーバーレイに同じ変換を適用する必要があると仮定しますが、おそらくその方法はそれよりスマートです。

あなたが助けてくれると思われるものがあれば、私はそれをすべて聞いてみたいと思っています。


編集:多くの実験の後、私は私は私は自分自身を回転させてオーバーレイすることができスタティックマップを使用することがありますことを信じて、しかし、私はまだMKMapViewの回転に関する情報に興味があると思います。

答えて

1

私はMKMapView回転で作業を開始し、それを発見した:あなたがマップにCGAffineTransformを適用する方法のconvertCoordinate表示

  • を:toPointToView:同じように動作しますが。
  • 注釈テキストを含む注釈がビューとともに回転します。
  • 地域が画面上の領域に適合しているように見えますが、マップビューに適合しません(親ビューよりも地図ビューを大きくして、ビューを表示しないで回転できるようにしました)。
8

また、アプリケーションで回転MKMapViewを使用する予定です。注釈が回転しないようにするには、次のコードを使用します:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{ 
    ... 
    annotationView.transform = GAffineTransformInvert(mapView.transform); 
    ... 
} 

私にとってはうまくいくようです。

+0

情報をいただきありがとうございます。annotationViewトランスフォームは回転にのみ影響しますか?その位置は他の変換の関数ですか? – jessecurry

6

完成したトピックを復活させて申し訳ありませんが、もう1つの「問題」:マップビューのサイズを回転させて常に画面全体を覆うようにすると、「Google」ロゴが切り取られます左下からこれは、MapKitを使用するライセンスに明示的に反しており、アプリ拒否の根拠となる可能性があります。実際には、上にUIImageViewとしてGoogleロゴの静的バージョンを追加することは、すべての当事者が受け入れられると考えられます。

+1

良い点。実際にはMKMapViewから "Google"ロゴを取得できます。 MKMapViewには2つのサブビューがあり、1つはロゴを含むUIImageViewです。私は自分自身のUIImageViewを作成し、そのイメージプロパティをMKMapViewのプロパティと同じに設定しています。 Googleロゴは回転していません。 – Fraggle

関連する問題