4

アプリをAndroid用の新しいGoogleのAPIに移動します。マップはフラグメントの一部であるため、フラグメントではなくMapViewを使用することにしました。MapFragmentを使用してマップを表示することに成功しましたが、MapViewを使用して同じことを実行しようとすると、空のタイルが表示されるだけです。誰かが私が欠けているものを手に入れましたか?マニフェストファイルからのアクセス許可は次のとおりです。

<permission android:name="com.beezer.permission.MAPS_RECEIVE" 
                 android:protectionLevel="signature"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.beezer.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

ログにエラーはありません。

4

2 に答える 2

13

ここに書かれているように、すべてのアクティビティ ライフ サイクル メソッドを転送しましたか https://developers.google.com/maps/documentation/android/map#mapview

「このクラスのユーザーは、すべてのアクティビティ ライフ サイクル メソッド (onCreate()、onDestroy()、onResume()、onPause() など) を MapView クラスの対応するメソッドに転送する必要があります。」

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    mapView.onCreate(savedInstanceState);
    try {
       MapsInitializer.initialize(mContext);
    } catch (GooglePlayServicesNotAvailableException e) {
       e.printStackTrace();
    }
 }

@Override
public void onPause() {
    super.onPause();
    mapView.onPause();
}

@Override
public void onResume() {
   super.onResume();
   mapView.onResume();
}

@Override
public void onDestroy() {
    super.onDestroy();
    mapView.onDestroy();
}
于 2013-01-13T16:20:03.663 に答える
3

私がこれを行うことができる問題は2つだけです:

  1. ビルドの署名がマップ API キーと一致しません
  2. MapActivity 内から MapView を使用していません。それ以外の場合は機能しません。
于 2013-01-12T17:54:59.303 に答える