※キーストアのフィンガープリントの取得方法※
以下のコマンドをコマンドプロンプトで実行します。
(JDKのフォルダを環境変数PATHに設定しておいてください。)
C:>keytool -v -list -keystore "%USERPROFILE%.androiddebug.keystore" キーストアのパスワードを入力してください:[Enter] *****************警告 警告 警告***************** *キーストアに保存された情報の整合性は* *検証されていません。整合性を検証するには* *キーストアのパスワードを入力する必要があります。* *****************警告 警告 警告***************** … 証明書のフィンガプリント: MD5: 8B:75:D6:22:23:8D:F7:65:E1:D4:2B:XX:XX:XX:XX:XX SHA1: 6F:2B:05:E6:BA:1C:F1:E4:F9:33:22:44:F4:E1:XX:XX:XX:XX:XX:XX SHA256: 82:E5:F2:A7:33:4D:8B:AE:4C:F4:FB:E8:6F:85:B4:BF:E0:4C:1A:E5:D7:0B:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX 署名アルゴリズム名: SHA1withRSA …
9. “Create”ボタンをクリックする
10. “API Key”欄に入力されている値がAPIキーです。
2. 「Google Play Serviceライブラリ」のインストールおよびインポート
まずはライブラリのインストールです。SDKマネージャーから行うことができます。
1. Android SDKマネージャーを起動する。
2. “Extras”セクションの中にある“Google Play Services”にチェックを入れ、”Install 1 package…”をクリックする。
3. インストールが完了したら、SDKマネージャーは終了する。
次に、ライブラリをEclipseにインポートします。
4. Eclipseのツールバーから、ファイル→インポートをクリックする。
5. “Existing Android Code Into Workspace”を選択し、次へをクリックする。
6. “ルート・ディレクトリー”に以下の値を入力する。
[adt-bundleのインストールパス] adt-bundle-windowssdkextrasgooglegoogle_play_serviceslibprojectgoogle-play-services_lib
7. “google-play-services_lib”にチェック、”プロジェクトをワークスペースにコピー”にチェックをいれ、完了をクリックする。
8. パッケージ・エクスプローラーに”google-play-services_lib”プロジェクトが作成されていれば、インポート完了です。
3. Androidアプリの作成
では、いよいよAndroidアプリの作成です。
1. Androidプロジェクトを新規作成する。
プロジェクト作成時に注意すべき点は以下の2か所です。
- パッケージ名をAPIキー取得時に入力したパッケージ名と揃える
- 「Minimum Required SDK」をAndroid 2.2にする
作成したAndroidプロジェクトと、さきほどインポートしたGoogle Play Serviceライブラリをリンクさせます。
2. パッケージ・エクスプローラーでプロジェクト名を右クリックし、プロパティをクリックする。
3. “Android”を選択し、ライブラリーから”追加”をクリックする。
4. “google-play-services_lib”を選択し、”OK”をクリックする。
5. ライブラリーに”google-play-services_lib”が表示されていれば、リンク完了です。
やっとコーディング作業です。
Google Maps Android API v2はFragmentを利用していますので、MainActivityクラスはFragmentActivityクラスを継承するように変更します。
public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
res/layout/activity_main.xmlファイルには以下のように<fragment>を定義します。
<?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" />
最後に、マニフェストファイルです。
<permission>、<uses-permission>、<uses-feature>および<application>内に<meta-data>を定義します。
<meta-data>にはAPIキーを設定します。
「com.example.googlemapandroidapiv2」となっているところは、各自のパッケージ名と合わせて下さい。(2か所あります。)
<permission android:name="com.example.googlemapandroidapiv2.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.googlemapandroidapiv2.permission.MAPS_RECEIVE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="ここにAPIキーを入力する" /> ... </application>
以上で全て完了です。
アプリケーションを実行しましょう。
以下のような操作を行うことができるはずです。コーディングの必要がないところがすごいですね!
- スワイプ(1本指でドラッグ)で地図移動
- ダブルタップでズームイン
- ピンチ(2本指を開いたり閉じたり)でズームイン/ズームアウト
- 2本指を回転させると地図回転
- 2本指を上下で地図が傾斜
インドアマップはズームインしていくと表示され、3Dマップはサポートしている地点をある程度ズームインし、地図の角度を変えると表示させることができます。
なお、引き続きバージョン1(Google Maps Android v1)のAPIキーも取得することができます。
https://developers.google.com/maps/documentation/android/v1/maps-api-signup