Android Studio ベースの内容に改訂。
- Android Studio 1.0.2
- Android SDK 5.0.1 (API21)
- Play Services 6.5.87
参考サイト
手順
Play Services をプロジェクトに追加
- メニュー
File
>Project Structure...
を開く。 -
Dependencies
タブ下の+
をクリックし、Library dependency...
を選択。 -
play-services
を選択してOK
レイアウトの編集
-
activity_main.xml
を開く。 - Palette にある
<fragment>
をクリック後、MapFragment
を選択。 - Properties の
Id
をmap
に変更。 -
layout:width
とlayout:height
をmatch_parent
に変更。
コードの編集
MainActivity.onCreate() を次のようにする。
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LatLng latlng = new LatLng(35.710065, 139.8107);
MapFragment fragment = (MapFragment)getFragmentManager().findFragmentById(R.id.map);
GoogleMap map = fragment.getMap();
if (map != null) {
map.addMarker(new MarkerOptions().position(latlng).title("Skytree"));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(latlng, 15));
}
}
API キーの取得
- Google アカウントを取得し、Google APIs のコンソールに入る。
- API プロジェクトを作成。
- Services で "Google Maps Android API v2" を ON にする。
- API Access で "Create new Android key..." を実行。
- 表示されている API key を覚えておく。
- デバッグ用途だけなら fingerprint の登録不要(Any apps allowed で OK)。
AndroidManifest.xml の編集
manifest タグの下に以下を追記。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<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 タグの下に以下を追記。
"YOUR-API-KEY" のところは取得した API key に置き換える。
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="YOUR-API-KEY"/>
動作確認
Nexus 5 実機および Emulator で動作することを確認した。