2012年5月29日火曜日

MapKitサンプル1 - 地図の表示と操作

前回の「CoreLocationサンプル3 - ジオコーディング」に続いて、今回は地図の表示と操作です。 やはり緯度・経度の座標情報には、地図がなければ分かりづらいです。 iOS Developer Libraryの「位置情報対応プログラミングガイド」(英語版はMaking Your Application Location-Aware)に沿って、サンプルを公開します。 注意点MapKitでは、Googleマップを利用しています。そのため、Googleマップの利用規約に従う必要があります。 詳細は、Googleマップの利用規約(Google Maps Terms of Service)(全文)をご覧ください。 実装手順地図の表示「MapKit.framework」「CoreLocation.framework」の追加 単に地図を表示するだけならCoreLocationは不要ですが、様々な処理をするのに必要となります。 ヘッダのインポート #import...

CoreLocationサンプル3 - ジオコーディング

前回は「CoreLocationサンプル2 - ヘディングイベント」でした。今回は、「緯度・経度から住所」「住所から緯度・経度」に変換するジオコーディングについてです。 iOS Developer Libraryの「位置情報対応プログラミングガイド」(英語版はMaking Your Application Location-Aware)に沿って、サンプルを公開します。 注意点ジオコーディングは、サーバにリクエストを送り、サーバ側で処理をするものです。そのため、過度にジオコーディング要求をしてはいけません。詳細は「位置情報対応プログラミングガイド」23ページ目「Geocoderオブジェクトについて」をご覧ください。 また、MapKitを利用した逆ジオコーディングは、Googleマップの利用規約により、必ずGoogleマップと組み合わせなければなりません。他の会社の地図サービスなどに出力したりすることはできません。(Googleマップの利用規約(section...

2012年5月27日日曜日

CoreLocationサンプル2 - ヘディングイベントを利用した画面の回転

前回の「CoreLocationサンプル1 - 現在位置の取得と領域観測 」に続いて、今回はヘディングイベントです。前回と重複している部分もありますが、iOS Developer Libraryの「位置情報対応プログラミングガイド」(英語版はMaking Your Application Location-Aware)に沿って、サンプルを公開します。 方向関連のイベントヘディング(heading)【iOS 4.0以降】 磁力センサーを利用して、「北」がどちらにあるかを計測します。単純に「北」と言っても、以下の二種類があり、どちらを示すかで方角が少し変わってきます。ヘディングでは両方を扱うことができます。詳細は「真北...

2012年5月26日土曜日

CoreLocationサンプル1 - 現在位置の取得と領域観測

今回もiOSデバイスが持っている機能を利用するものとして、位置情報サービスについて進めてゆきます。 iOS Developer Libraryの「位置情報対応プログラミングガイド」(英語版はMaking Your Application Location-Aware)に沿って、サンプルを公開します。 注意点カメラ・加速度センサー・ジャイロスコープ・磁力センサーなどのハードウェアを利用する場合とは、以下の点で異なります。 位置情報サービスを利用する場合は、ユーザに確認を取らなければならない 確認用のダイアログはフレームワークが自動的に表示してくれます。必要になる直前に確認するようにしなければ、ユーザが「なぜその機能が必要なのか?」という懸念をいだくことがあります。 機内モードなど、デバイスが位置情報を利用できない場合がある 一度でも位置情報サービスの取得に失敗すると次回も失敗する可能性が高くなるため、電池のことを考えて、しばらく休止するなどの処理が必要になります。 ユーザが意図的に機能をオフにしているかもしれない 使って欲しいがゆえに何度も確認メッセージを表示したりするのは、ユーザが不快に感じる可能性があります。位置情報サービスが必須なアプリでなければ、表示方法を検討すべきです。 ユーザの位置情報の利用単純にユーザの位置情報を利用するだけでも、以下の3種類が用意されています。 標準位置情報サービス(Standard...

2012年5月20日日曜日

リモートコントロールイベントサンプル - マルティメディアの操作

前回は「モーションイベントサンプル3 - CoreMotionを使った各種センサーの利用」でした。 iOS Developer Libraryの「iOSイベント処理ガイド」(英語版はEvent Handling Guide for iOS)に沿って、サンプルを公開します。今回が最後のイベント処理「リモートコントロールイベント」です。 リモートコントロールイベント【iOS 4.0以降】「iOSイベント処理ガイド」の7ページ目より引用「iOSイベント処理ガイド」の初回「マルチタッチイベントサンプル1 - Gesture Recognizer」にも紹介した図ですが、今回は「Remote-control...