2012.03.13
【Android SDK】GoogleMapを表示してみる
ちょいと興味が出てきたので試してみます。
GoogleMapを表示するためにはSDKから切り替える必要がある。
1. GoogleMap用SDKへ切り替え 2. GoogleMaps API Keyの取得 3. AndroidManifest.xmlの修正 4. GoogleMapを表示するソースへ変更
AndroidSDKバージョンを決定するところに適切なバージョンがあれば指定する。
これはデフォルトではインストールされていないようです。
ないときはAndroid SDK Managerからインストールしましょう。
ここに書いているのは仮に表示できればよいくらいの手順になります。
アプリ公開するときにはもっと別の方法があると思うのでそちらを試してください。
Googleの資源を使うので使うよということを通知し、許可をもらわないといけない。
GoogleMaps APIを使う時にはGoogleMaps API Keyが必要になります。
取得はここで出来ます。
Link:Maps API Key Signup - Google Projects for Android
必要なものとしてフィンガープリント(MD5)が必要になります。
開発用であればSDKをインストールしたときに作成されているものを使えばいいらしい。
コマンドプロンプトで以下のコマンドを実行します。
> keytool -v -list -keystore "C:\Documents and Settings\[ユーザー名]\.android\debug.keystore"
keytoolは標準javaについてるコマンド。
認証ファイル関係の処理をするものらしい。
-keystoreが対象の認証ファイルになる。
デバッグで使うのはユーザーディレクトリ内 ".android\debug.keystore" にあるらしい。
-listで情報表示。
-vは詳細表示。
java 1.7から表示するフィンガープリントがSHA1になったらしい。
詳細表示にしないとMD5が見れないのでつける必要あり。
実行するとパスワードが求められるがそのままEnterでよい。
そうするとつらつらと情報が表示される。
「証明書のフィンガプリント」という項目からMD5の項目をメモしておく。
これを "My certificate's MD5 fingerprint" へ入れて送る。
そうすると GoogleMaps API Key が発行される。
当然ながらGoogleアカウントは必要になる。
GoogleMapsを使えるようにカスタムしていきます。
application内に以下を追加
<!-- GoogleMapsライブラリを使用 --> <uses-library android:name="com.google.android.maps" />
後はmanifest内にネットワークの使用許可を追加する。
<!-- ネットワーク使用許可 --> <uses-permission android:name="android.permission.INTERNET" />
地図画像はネットから持ってくるんだし当然ですよね。
まず、GoogleMapAPIを使う時には通常のActivityを継承させるのではなく
MapActivityを継承して行う必要がある。
なので継承先をMapActivityへ切り替える。
これでAPIの呼び出し準備はすべて完了したので実ソースを記述していく。
すごく簡単に書くとこんな感じ。
MapView map = new MapView(this, "[GoogleMaps API Key]"); map.setEnabled(true); map.setClickable(true); setContentView(map);
これだけでもうマップが表示されているはずです。
これだけで、マップアプリとしていい感じになる。
後は使い方によってはすごく面白くなりそうなので
もう少し細かく見てみたいと思います。
Google API Expertが解説する Google Maps APIプログラミングガイド 勝又 雅史 古籏 一浩 石丸 健太郎 安藤 幸央 インプレスジャパン 2011-12-02 |
関連記事