Androidで動く携帯Javaアプリ作成入門
連載インデックスへ
Androidで動く携帯Javaアプリ作成入門(16)

地図/位置情報/GPSを使うAndroidアプリを作るには


株式会社イーフロー
緒方聡
2010/4/7

Androidケータイの本命「Xperia」発売開始!

- PR -

 4月1日、NTTドコモとソニー・エリクソンがAndroidスマートフォン「Xperia」を発売開始しました。下記記事にもあるように、その熱狂振りからも、「Xperia」がiPhone対抗機の本命のAndroid端末という位置付けになっていることがうかがえます

 またNTTドコモは同時に、音楽配信やニュース、ゲームなどにアクセスできるスマートフォン向けコンテンツポータル「ドコモマーケット」を開設しました。

 同様に3月30日に、auもボータルを開設すると発表しました(参考:au、 Android端末向けポータル「au one Market」をオープン――「IS01」発売と同時に)。アプリ開発者にとっては、端末の発表よりも、そちらの方が気になるところかもしれませんね。

ケータイの醍醐味! 地図/位置情報を使うアプリ

 Androidでグーグルの提供する「Googleマップ」が利用できるのは、Android開発をされている方ならご存じかと思います。

Android MapsとGPSを利用した現在位置表示アプリ

 「Android Maps」はAndroidの標準APIではなくグーグルの提供する拡張APIという位置付けです。アプリからAndroid Mapsを利用したい場合、GoogleのアカウントとAndroid Maps API Keyが必要です。

 今回は、Googleのアカウントの取得方法については省略しますが、Android Maps API Keyの取得方法から、Android Mapsの使い方、GPSなど位置情報の連携まで通して解説します。

 以下のリンクより、今回のサンプルアプリをダウンロードしておいてください。

Android Maps API Keyを取得するには

 まず、Googleのアカウントを取得する必要があります。

Androidアプリを開発するに当たり、Googleのアカウントは持っておくべき

 Androidアプリを開発するに当たりGoogleのアカウントを持っていないと不自由することが多い(マーケットにアプリが公開できない、開発用端末を購入できない、Android Mapsが使用できない)ので、Androidで本格的に開発を行うつもりであれば、取得することをお勧めします。

証明書のフィンガープリントが必要

 Googleのアカウントがすでにある場合は、「Sign Up for the Android Maps API」を開いてください。

 画面下部に「My certificate’s MD5 fingerprint:」とあり、ここに自分の環境の証明書のフィンガープリントを入力します。以下は、Windows環境の入出力例です。

C:\>keytool -list -keystore "%USERPROFILE%\.android\debug.keystore"
キーストアのパスワードを入力してください:

***************** 警告 警告 警告 *****************
* キーストアに保存された情報の完全性は検証されて *
* いません! 完全性を検証するには、キーストアの *
* パスワードを入力する必要があります。 *
***************** 警告 警告 警告 *****************

キーストアのタイプ: JKS
キーストアのプロバイダ: SUN

キーストアには 1 エントリが含まれます。

androiddebugkey, 2009/05/24, PrivateKeyEntry,
証明書のフィンガープリント (MD5): 30:CF:8E:AB:D9:29:FD:D5:02:7B:15:4E:48:29:DD:07

C:\ >

 keytoolコマンドは、JDKの「bin」フォルダにあるので、パスを通すなりフルパスで指定するなりしてください。debug.keystoreの保存先はOSによって異なります。

表1 debug.keysotreの保存先
Windows %USERPROFILE%\.android\debug.keystore
Linux ~/.android/debug.keystore
Mac OS X ~/.android/debug.keystore

コラム 「Androidアプリの署名方法」

今回は、Androidの開発環境が自動生成したデバッグ用の証明書を使用しましたが、Androidマーケットにアプリを公開する場合、別途公開用の証明書を作成し、そちらを使用します。

証明書の作成や署名の方法については、本連載で予定している「Androidマーケットへのアプリの公開(仮題)」で詳しく解説します。

 keytoolコマンドで得られたフィンガープリントを先ほどのSign Up for the Android Maps APIのフィンガープリントの欄に入力し、Generate API Keyをクリックすると、Android Maps API Keyが得られます。

Android Maps API Keyを取得
図1 Android Maps API Keyを取得

 このキーはAndroid Mapsを使用するアプリで必要になるため、必ず控えておいてください。

string.xmlに設定

 先にも書いたとおり、debug.keysotreは環境によって異なります。今回のサンプルは筆者の環境のdebug.keysotreから生成したAndroid Maps API Keyを使用していますので、その値を自身の値に書き直してください。

 場所は、res/values/string.xmlのmap_keyです。

<?xml version="1.0" encoding="utf-8"?>
<resources>

……

<string name="map_key">0msgojyRqtjKb458s6F9YXqL5fl7kUZilXnq8qQ</string>
</resources>

 それでは、次ページよりさまざまな地図を表示する方法を詳しく見ていきましょう。

1-2-3

 Index
第16回 地図/位置情報/GPSを使うAndroidアプリを作るには
Page1
Androidケータイの本命「Xperia」発売開始!
ケータイの醍醐味! 地図/位置情報を使うアプリ
Android Maps API Keyを取得するには
コラム 「Androidアプリの署名方法」
  Page2
Android Mapsを使った地図の表示
地図のさまざまな設定/表示と操作
コラム 「Androidベースのカーナビは、すでにある」
  Page3
マーカーで特定の位置を指定・表示するには
ロケーションサービスと連携して現在位置を表示
コラム 「エミュレータでの位置情報発信」
Android Mapsの強力さと簡単さが分かりましたか?

Androidで動く携帯Javaアプリ作成入門 バックナンバー 連載インデックスへ»


ご意見、ご感想は Smart&Social 会議室へどうぞ


 Smart&Social フォーラム トップページへ


TechTargetジャパン

Smart & Social フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH