2012-05-03 22 views
0

My appは、MapViewとそのようなコントローラを備えたTabBarControllerで構成されています。ビューに表示される情報はNSURLConnection経由でダウンロードする必要があり、時間がかかります。私は疑問を持っています:MapViewを使用したTabBarアプリ(情報をダウンロードする必要があり、その情報をMapViewに表示する必要がありますか?))

データをダウンロードしてパーサーしてくれるクラス(NSObject)があります。しかし、地図(注釈付き)と表の両方にこの情報が必要です。

  • ここでデータをダウンロードする必要がありますか?他の問題の間に、データをダウンロードする前に地図が表示されるので、どのように地図を注釈で更新できますか? UPDATED

を[OK]を、多分私はよりよく説明する必要があります。 私のアプリは逆のユーザーの場所を使用して情報をダウンロードするので、AppDelegate.mではlocationManagerを使用します。 locationManagerDelegateはDownloader.mに準拠しています(NSURLConnection経由で情報を取得します)。 これまでmapViewが画面に表示されていましたが、注釈のプロパティが空のため情報がないため空ではありません。 Downloaderで情報のダウンロードが完了したら、マップに注釈を設定する必要があります。ブー。私は、Downloader.mにmapViewControllerのインスタンスを持っていません。私が作成した場所はappDelegateにありました。 私の大きな問題は、私がタスク(appDelegate.m、Downloader.m、mapViewController.m)を実行する必要がある場所です。そして、私はmapViewとtableViewの両方を持っているので、ダウンロードされた情報が必要です両方とも。たくさん

答えて

0

OK

おかげで私は理解してどのように応じて、あなたの質問に答えることをしようとします:)

私はあなたがNSURLConnectionのデリゲートメソッドを使用していて、最終的な方法があることを前提としています

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 

このメソッドは、すべてのデータがサーバーから取得されたため、すべてのデータを処理する場所です。私は上記のコードは、あなたが必要とするものに収まることを願っ

MKCoordinateSpan coordinateSpan = MKCoordinateSpanMake(0.01, 0.01); 
MKCoordinateRegion coordinateRegion = MKCoordinateRegionMake(centerPoint, coordinateSpan); 

[noteMap setRegion:coordinateRegion]; 
[noteMap regionThatFits:coordinateRegion]; //this is the center and region of your map 

MyLocation *annotation = [[MyLocation alloc] initWithName:"annotation-name" address:"your-subtitle" coordinate:cordPoint] ; //this is an annotation class that i implemented 
["your-map-view" addAnnotation:annotation]; //this is the method for adding annotation 

:あなたが好きあなたのコードを実装しようとしているよりも、NSURLConnectionでデータを取得しようとしているので、注釈についてのあなたの最終的な答えのためにそう

、。

+0

ありがとう、私の説明を更新しました。あなたが私を助けることができるなら... :) – Stacky

+0

もしあなたがダウンロードが終了したら、私はそれらをappdelegateの属性である配列に書き込んで、appdelegateでマップを初期化します。 あなたの問題を解決する希望.. – iremk

関連する問題