• 締切済み

iPhoneアプリ開発  マップのピンの色

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

みんなの回答

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

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

ryd4
質問者

補足

お忙しい中ご回答ありがとうございます。 おそらくviewForAnnotationがまったく呼ばれていないのだと思います。 お恥ずかしながら、デリゲートの仕組みがいまいちよく分かっていないのですが、 呼び出すために注意する点はありますでしょうか? @interface MainViewController : UIViewController <MKMapViewDelegate> と宣言をし、.mのviewDidLoadのところで、 mapview.delegate = self;  にするだけではだめなのでしょうか? 初歩的なことを聞いてしまい申し訳ありませんがよろしくお願いいたします。 またピンを落とす動作はボタンにIBActionをつけて実装しているのですが、そこで生成したAnnotationとviewForAnnotationとの関連性が理解できていないという次第です。 お手数かけますがよろしくお願いいたします。