では、バッチ ファイルを作成して SHA1 フィンガープリントを取得しました。その後、「サービス」ページに移動し、Google Maps API v2 および v3 を有効にしました。また、「API アクセス」ページに移動し、SHA1;PACKAGENAME で新しい Android キーを作成しました。この後、プロジェクト フォルダーに移動し、次のコードを追加しました。
<permission
android:name = "com.example.test.permission.MAPS_RECEIVE"
android:protectionLevel = "signature"
/>
<uses-feature
android:glEsVersion = "0x00020000"
android:required = "true"
/>
<uses-permission android:name="com.example.test.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-library android:name="com.google.android.maps" />
<meta-data
android:name = "com.google.android.maps.v2.API_KEY"
android:value = "APIKEY"
/>
また、XML ファイルを作成し、次のコードを貼り付けました。
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
xmlns:android = "http://schemas.android.com/apk/res/android"
android:id = "@+id/mapview_MV"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:clickable = "true"
android:apiKey = "APIKEY"
/>
HTC One X+ でプロジェクトをコンパイルして実行した後、グレーのタイルの束しか見えませんでした。また、以下に示すように、コードで MapView を使用しようとしました。
/********************************************************************
* ONCREATE *
********************************************************************/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.general_layout );
MapView mapView = new MapView( GamePage.this, "APIKEY" );
MapController mc = mapView.getController();
String coordinates[] = {"1.352566007", "103.78921587"};
double lat = Double.parseDouble(coordinates[0]);
double lng = Double.parseDouble(coordinates[1]);
GeoPoint p = new GeoPoint( (int) (lat * 1E6), (int) (lng * 1E6) );
mc.animateTo(p);
mc.setZoom(17);
FrameLayout fl = ( FrameLayout ) findViewById(R.id.general_frameHolder_FL);
fl.addView(mapView);
}
次のエラーが表示されます。
Couldn't get connection factory client
誰が私が間違っているのか教えてもらえますか!?