2011-02-03 4 views
3

私はジェスチャ認識機能と特定のオーバーレイのboundingRectを使用して、ユーザーがタップするタイミングを判断しました。しかし、私は今、注釈の仕方と同じように、ユーザがタップするオーバーレイ領域に吹き出しを表示させたいと考えています。これを達成するには、注釈としてオーバーレイを作成する必要がありますか?ありがとう。MKOverlay地域の吹き出しを表示するには?

答えて

2

オーバーレイは、必要に応じてアノテーションオブジェクトです。 Location Awareness Programming Guideから

MKOverlayプロトコルはMKAnnotationプロトコルに準拠します。結果として、すべてのオーバーレイオブジェクトも注釈オブジェクトであり、コード内で1つまたは両方として扱うことができます。オーバーレイオブジェクトを両方として扱うことを選択した場合は、そのオブジェクトを2か所で管理する必要があります。オーバーレイビューとアノテーションビューの両方を表示する場合は、アプリケーションデリゲートのmapView:viewForOverlay:メソッドとmapView:viewForAnnotation:メソッドの両方を実装する必要があります。また、マップのオーバーレイ配列と注釈配列の両方からオブジェクトを追加して削除する必要があることも意味します。

+0

しかし、私は注釈であるためにオーバーレイを作成する方法については、私はかなり失われています。この領域にサンプルコードを提供できますか? MKAnnotationViewのサブクラスには、通常、変数としてUIImageがあり、initWithAnnotation:reuseIdentifier:メソッドにはポリゴンの幅と高さ(渡されたアノテーションから)からフレームの幅と高さを動的に指定する方法はありません。ありがとう。 – Stunner

+0

MapCalloutsのサンプルコードは役に立ちますか?カスタムコールアウトを使用したMKAnnotationsが表示されます。http://developer.apple.com/library/ios/#samplecode/MapCallouts/Introduction/Intro.html – petert

+0

私はMKAnnotationとしてMKPolyLineを処理しますが失敗しました。 addAnnotation:マップビューに、コールバックをトリガーしない - (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )注釈 – user501836

関連する問題