0

この問題はよくあることですが、Google やスタックオーバーフローで解決策が見つかりませんでした (4 日間の調査...)

これが事です:

全画面の Google マップを表示する必要があります。これは、開発した他のアプリケーションで既に何度か行っています。しかし、ここでは、不明な理由で機能させることができません!

マップを含む SherlockFragmentActivity を開いたときに表示される警告とエラー:

The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.

Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

ここで、私がどのように物事を行ったかを詳細に説明し、いくつかのコードを投稿します:

ライブラリのインポート:

eclipse にライブラリとしてインポートされた Google Play サービスの最新バージョン (チェックあり) プロジェクトでは、Google Play サービスはプロパティ (ABS など) のライブラリとしてインポートされます

マニフェスト :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="pck name"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <permission
        android:name="com.company.pckgname.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <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_NETWORK_STATE" />
    <!-- LOCATION -->
    <uses-permission android:name="android.permission.ACCESS_GPS" />
    <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

    <application
        android:name="app variable name"
        android:allowBackup="true"
        android:icon="@drawable/logo"
        android:label="@string/app_name"
        android:theme="@style/Theme.Styleapp" >
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="api key" />

        <activity
            android:name=".ActivityLauncher"
            android:configChanges="orientation|screenSize"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.Sherlock.NoActionBar" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>

... activities...

        </application>

    </manifest>

地図のレイアウト:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.company.pckgname.TransparentSupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

アクティビティ :

public class ActivityGoogleMap extends SherlockFragmentActivity implements OnInfoWindowClickListener {

        GoogleMap                   _googleMap;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // ABS
        ActionBar bar = getSupportActionBar();
        bar.setTitle(R.string.tle_map);
        bar.setDisplayHomeAsUpEnabled(true);
        // MAP
        _googleMap = ((TransparentSupportMapFragment) getSupportFragmentManager().findFragmentById((R.id.map))).getMap();

 //the map should still display at this point
        }
    }

それで、メインコードはここにあります

マップは今まで機能していましたが、コードマップ関連で何もしませんでした...

Googleコンソールでデバッグキーを再生成しようとしたり、権限を変更したりしました..など、私は考えていません!!!!

4

2 に答える 2

1

API キーを変更した後、アプリケーション データを消去AndroidManifest.xmlする必要があります。

アプリケーション データをクリアするには、次のいずれかを実行します。

  • に行くSettings > Application Manager > Select Your Application > Clear Data
  • 再インストールする前に、アプリケーションをアンインストールしてください。
于 2013-09-06T13:21:36.443 に答える
0
<uses-feature android:glEsVersion="131072" android:required="true" />

これをマニフェストの許可の下に置きます。

于 2013-09-06T13:29:32.083 に答える