2016-05-25 7 views
0

MapkitViewから現在表示されているオーバーレイのリスト(配列)を取得するにはどうすればよいですか?MapKitで表示可能なオーバーレイを取得するには? (Mapkit IvewのMKOverlay/MKOverlayRender)

背景 - たとえば、特定のオーバーレイタイプの中心に向かって方向矢印をmapkitviewに表示したいのですが、どのように表示されますか?私が見ることができるこれを行う方法がないようですね?だから私はすべてのオーバーレイ(実際に〜8000)を通過し、画面上に何が表示されるかを自分のチェックをする必要がありますか? MapKitがある時点でどのオーバーレイを表示する必要があるかを決定する一環としてこれを既に効果的に実行していたならば、無駄だと思う。

答えて

1

私は同じような問題を抱えていました。私が把握できる最も効率的な方法は、MKOverlayMKAnnotationを実装しているため、オーバーレイを注釈として追加することでした。次に、現在表示されているmapRectにannotationsInMapRectを使用できます。しかし、これは通常のMKAnnotationsも返し、計算されたオーバーレイの中央だけを使用します。のみオーバーレイを取得するには(今のところ、私は考え出しとして)唯一の方法は、各オーバーレイと使用を反復するために、次のようになります。現在表示さmapRect上

-(BOOL)intersectsMapRect:(MKMapRect)mapRect; 

。 別の方法を見つけたら、私は聞いて嬉しいです!

+0

私はちょうど何かが変化したら、すべてのオーバーレイを更新し、それらをすべて循環させて画面上に表示し、手動でリフレッシュするように設定しました。これは健全かどうか... – Greg

関連する問題