利用が加速するジオメディアを使うための基礎としてCoreLocationとMapKitの2つのフレームワークの使い方を中心に解説します。
最近、携帯電話端末(ケータイ、ガラケー、フィーチャーフォン)やスマートフォンなどのモバイル端末での位置情報・ジオ(GEO、Geographical)メディアの利用が加速しています。
多くのソーシャルサービスは、位置情報付きで投稿する機能を備えていて、チェックイン系のサービスも人気です。位置情報を利用したAPIも多く公開されており、マッシュアップによって個人でも面白い位置情報アプリを作成できます。
本連載では、iOS(iPhone/iPad/iPod touch)で動く「現在地の近辺で撮影された写真を地図上に表示するアプリ」を作りながら、位置情報アプリを作成するための「測位機能の取り扱い」「地図の取り扱い」「サーバとの通信」という重要なポイントを解説します。
iOS SDKで作るネイティブアプリのObjective-Cコードを解説するので、iOS SDKやObjective-Cについて詳細を知りたい方は、以下の連載を参照しておいてください。
iOSで位置情報アプリを作るときにお世話になるのが、CoreLocationフレームワークとMapKitフレームワークです。
CoreLocationフレームワークには、測位(現在地を算出すること)に関する一通りの機能がそろっています。iPhone/iPad/iPod touchには、GPSや携帯電話基地局、WiFiアクセスポイントを使った現在地を取得する機能があります(実際に、どの機能を利用して測位するかは、機種によります)。
MapKitフレームワークには、地図に関する機能がそろっています。地図を表示し、縮尺や表示場所を指定したり、地図に情報を追加したりできます。例えば、地図にピンを立てたり、線を引いたり、多角形も描画できます。
まずは、プロジェクトを用意します。「View-based Application」タイプのiOSアプリを選びます。
本稿では、「GeoPhoto」という名前のプロジェクトにします。
ビューを1つだけ持ったシンプルなアプリケーションのスケルトンが生成されます。
CoreLocationとMapKitの2つのフレームワークを追加します。
「Frameworks」フォルダを選んで[Ctrl]キー+[クリック]でメニューを出し、[追加]→[既存のフレームワーク…]を選びます。
「CoreLocation.framework」を選択します。
「Frameworks」フォルダに「CoreLocation.framework」が追加されました。
同じ要領で、「MapKit.framework」も追加します。これで、位置情報と地図が使えるようになりました。インポートする際は、以下のように記述します。
#import <CoreLocation/CoreLocation.h>
#import <MapKit/MapKit.h>
次ページでは、CoreLocationとMapKitの使い方をコードを交えて解説します。
Copyright © ITmedia, Inc. All Rights Reserved.