1|2|3パースした情報を基に、地図に表示するには先ほどの「fetchNearbyPhotos」をクラスを、「GeoPhotoViewController.m」から呼び出します(GeoPhotoViewControllerクラスを実装して地図にピンを出すまでの手順は、前回の記事を参照してください)。APIを使って写真をリストを取得します。リストに含まれたPhotoインスタンスをMKMapViewにアノテーションとして追加します。これを実行してみます。写真のある場所に旗が立ち、旗をタップすると写真の情報が表示されます。地図に旗が表示されるアノテーションにボタンを追加するにはこれでは写真が見られないので、まだあまり面白くありませんね。アノテーションをカスタマイズして、写真を閲覧するためのボタンを付けてみましょう。「ピン」「吹き出し」をカスタマイズするために、前回作ったCustomAnnotationViewクラスを改造します。青文字の部分が、前回からの変更点です。@endCustomAnnotationView.m【1】の個所では、ボタンを生成します。タイプとして「UIButtonTypeDetailDisclosure」を指定していますが、これは、iOSでおなじみの青い矢印ボタンです。【2】の個所では、生成したボタンに、タップしたときのアクションをセットしています。ここでは、そのインスタンスの「showDetail」メソッドを呼び出すように指定しています。【3】で、そのボタンを、吹き出しの右側に出すアイテムとしてセットしました。【4】が、ボタンをタップしたときに呼ばれるメソッドです。Photoクラスのurlメソッドは、写真を閲覧するためのURLを返すものでした。そのURLを、Safariで開きます。これで実行すると、写真を閲覧するためのボタンが追加され、近所の写真を見て楽しむことのできるアプリケーションになりました。今回はXMLをパースしましたが、JSONで提供されているAPIも多くあります。APIでも、「format=json」というパラメータを追加すれば、JSON形式でレスポンスが返ってきます。Framework」という優れたサードパーティ製のライブラリがあります。活用してみてください。次回は、サンプルを仕上げる!次回は、ここまでのサンプルアプリをブラッシュアップします。アイコンの代わりに、写真のサムネイルを出すようにしたり、写真をSafariで開くのではなくアプリ内で開くようにしたりと、改造を行います。まり子(ごうだまりこ)1980年東京生まれ、プログラマ。株式会社鳥人間にて、主にWeb開発案件を手掛ける。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。