Androidで百度地图を使用するための基本的な開発手順を紹介します。
まず、百度地图开放平台にアクセスし、開発者アカウントを作成します。これにより、最新の開発ドキュメントへのアクセスが可能になります。次に、Android Studioで新しいプロジェクトを作成します。そして、開発者アカウントを利用してAPIキーを取得します。詳細な手順は百度のドキュメントに記載されています。
必要なJarファイルとネイティブライブラリ(armeabiフォルダ内のlibBaiduMapSDK_v3_0_0.soとliblocSDK4d.so)をダウンロードし、プロジェクトに追加します。プロジェクトの右クリックからProperties > Java Build Path > Librariesを選択し、Add External JARs... をクリックして、ダウンロードしたJarファイルを追加します。最後に、Order and ExportタブでJarファイルを選択し、OKをクリックします。
次に、AndroidManifest.xmlファイルを編集します。
権限の設定:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
APIキーの設定
<!-- applicationタグ内に以下を追加 -->
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="あなたのAPIキー" />
<service
android:name="com.example.baidumap_01"
android:enabled="true"
android:process=":remote" >
<intent-filter>
<action android:name="com.baidu.location.service_v2.2" />
</intent-filter>
</service>
レイアウトファイルactivity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<com.baidu.mapapi.map.MapView
android:id="@+id/id_bmapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true" />
</RelativeLayout>
主要なアクティビティファイルMainActivity.java:
package com.example.baidumap_01;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class MainActivity extends Activity {
private MapView mapView = null;
private BaiduMap baiduMap = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// SDKの各コンポーネントを使用する前に初期化を行う
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
// マップビューの参照を取得
mapView = (MapView) findViewById(R.id.id_bmapView);
baiduMap = mapView.getMap();
// サテライトマップ
baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
}
@Override
protected void onDestroy() {
super.onDestroy();
// アクティビティのonDestroy時にマップビューのonDestroyを呼び出す
mapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
// アクティビティのonResume時にマップビューのonResumeを呼び出す
mapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
// アクティビティのonPause時にマップビューのonPauseを呼び出す
mapView.onPause();
}
}
実行後の結果:
以上がAndroidでの百度地图V3.0の基本的な開発手順です。