電子書籍の厳選無料作品が豊富!

iPhoneアプリ開発しています。
マップに現在地を表示させてピンを立てるアプリを作っています。
マップ上にピンは立てることができ、次の段階としてピンの色を変えたいと思っています。viewForAnnotationメソッドの中にMKPinAnnotationViewの宣言も書き、ピンの色をGreenに設定したのですがまったく反応してくれません。デフォルトの赤いピンのままです。
viewForAnnotationメソッドもピンを追加するメソッドもViewControllerクラスの中に書いています。

宣言する場所、注意する点等ありましたらご指摘いただけると嬉しいです。
よろしくお願いいたします。

A 回答 (1件)

viewForAnnotationを正しく記述していれば、ピンの色も、落ちてくる


アニメーションも問題なく動くはずです。
あと、viewForAnnotationはデリゲート(MKMapViewDelegate)なので、
本当に呼ばれて動いているか? ですね。

この回答への補足

お忙しい中ご回答ありがとうございます。
おそらくviewForAnnotationがまったく呼ばれていないのだと思います。

お恥ずかしながら、デリゲートの仕組みがいまいちよく分かっていないのですが、
呼び出すために注意する点はありますでしょうか?
@interface MainViewController : UIViewController <MKMapViewDelegate>
と宣言をし、.mのviewDidLoadのところで、
mapview.delegate = self; 
にするだけではだめなのでしょうか?
初歩的なことを聞いてしまい申し訳ありませんがよろしくお願いいたします。

またピンを落とす動作はボタンにIBActionをつけて実装しているのですが、そこで生成したAnnotationとviewForAnnotationとの関連性が理解できていないという次第です。
お手数かけますがよろしくお願いいたします。

補足日時:2010/11/28 13:10
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!