13

Googleマップを表示しようとしています。背景(薄い灰色の背景、小さなタイル、左下の Google ロゴ)が見えるので、近くにいることがわかります。ただし、実際の地図は表示されません。LogCat で、次のメッセージが何度も繰り返されていることがわかります。

05-14 13:28:17.926: W/System.err(27458): android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) で

2.3.4を実行しているテスト用のテザー電話でGoogleマップAPI 2を使用しています。

誰がこれを引き起こしているのか知っていますか? ありがとう!

package com.example.maptest;
import android.os.Bundle;
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapController; 
import com.google.android.maps.MapView;

public class MyMapActivity extends MapActivity {   

  private MapView mapView;   
  private MapController mapController;

   @Override   public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.map_layout);
     mapView = (MapView)findViewById(R.id.map_view);
   }

   @Override   
   protected boolean isRouteDisplayed() {
     return false;   
   }

 }

AndroidManifest.xml

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

    <permission android:name="com.example.maptest.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="com.example.maptest.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-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

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

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <uses-library android:required="true" android:name="com.google.android.maps" />

        <activity
            android:name="com.example.maptest.MyMapActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        <activity
             android:name=".MainActivity" >
             </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="xxxxxxxxxxxxxxxxxxxx"/> 

    </application>

</manifest>
4

12 に答える 12

16

この問題は通常、マニフェストの署名に使用されるマップ API キーに関連しています。発生している同じエラーについて説明しているこの投稿この投稿を見てください。どちらの場合も、使用した API キーが間違った .xml で作成されたためkeystoreです。Eclipse からテストする場合は、Google API コンソールで API キーを作成するときに、デバッグ キーストアを使用していることを確認する必要があります。

于 2013-05-14T19:46:07.860 に答える
4

基本的に、非推奨の Android API v1 と新しい API v2 を混在させています。

移行する最も簡単な方法は、v1 関連のコードをすべて削除し、次のリンクに従って最初からやり直すことです: https://developers.google.com/maps/documentation/android/start

于 2013-05-14T20:05:37.467 に答える
1

アプリに複数のパッケージがある場合は、 Android の mainfest.xml ファイルの先頭にAPI key含まれているパッケージ名を使用する必要があります。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    **package="com.xxx.xxx"**
    android:versionCode="1"
    android:versionName="1.0" > 
于 2014-03-18T22:53:22.137 に答える
0

リンクを使用してキーを作成するgoogle_maps_api.xmlと、(マニフェストで定義された) アプリケーションのパッケージ名ではなく、MapActivity のパッケージ名が設定されます。

console.developers.google.comアプリケーション マニフェストと同じパッケージ名であることを確認してください。

于 2020-02-06T17:51:03.843 に答える