安卓:谷歌地图不显示(Android: Google Maps not displaying)

2019-09-03 05:07发布

我试图让谷歌地图来显示。 我可以看到背景(浅灰色的背景,小青瓦,谷歌标志的左下方),所以我知道我接近。 但是,不显示实际地图。 在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)

我使用谷歌地图API 2栓系手机进行测试运行2.3.4。

任何人都知道可能会导致什么呢? 谢谢!

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>

Answer 1:

这个问题通常是与用于签署清单中的地图API密钥。 看看这篇文章和这一个 ,描述您所遇到的同样的错误。 在这两种情况下,这是因为他们使用的API密钥时使用了错误创建keystore 。 你需要确保你使用调试密钥库时创建的谷歌API控制台的API密钥,如果你打算从日食测试。



Answer 2:

基本上你是混合已过时的Android API v1的新API第2版。

迁移最简单的方法是删除所有相关的V1代码,并从头开始,下面这个链接: https://developers.google.com/maps/documentation/android/start



Answer 3:

如果你在你的应用程序几个包,当您创建提防API key必须使用包名,其中包括 Android mainfest.xml文件的顶部

<?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" > 


Answer 4:

那么实际上我曾经住过这个问题,这让我疯了。 之后我找到了解决办法。 非常简单:

1在你的项目中,google_maps_api.xml只是检查网站链接是你的包名,如果你的包的名称存在并且正确。 进入页面,拿到钥匙

为了得到一个,请点击此链接,按照提示进行操作,按底“创建”:

 https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=... 

2-只是创造新的Gooogle企业地图活动项目得到了SHA-1代码。

不要忘了SHA-1的代码是在你的其他项目一样,但网站链接是uniqu每个程序



Answer 5:

去developper控制台使地图API为你的设备,然后复制你的钥匙,和值 - >粘贴google_maps_api.xml。 它的工作原理使用Android金钥(自动由谷歌服务创建的),如果在Android设备上



Answer 6:

我有同样的问题。 这个问题在我的清单文件。 检查谷歌地图密钥已存储在STRING.xml和谷歌地图在google_maps_api.xml关键不具有相同的名称。



Answer 7:

经过斗争的日子里,我发现了这个问题。 在我的清单我有存储在XML文件中的键值,并没有奏效。 我现在有

<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="AIzxxxxxxxxxxxxxxxxxxxxxxxkey" />    and it works.

只是删除了XML文件...希望它能帮助!



Answer 8:

其中最有可能的原因是您没有添加项目清单文件API密钥。 解决这个问题最简单的方法是进入“google_maps_api.xml”文件,并复制文件中的链接,并将其粘贴到浏览器中。 点击链接中的创建按钮,复制被后生成的API密钥并在“您的API密钥”,这是元数据标签内的地方粘贴在AndroidManifest.xml,编译项目,这将解决这个问题。



Answer 9:

可能这是因为你必须让把google_maps_api.xml文件中的值的文件夹并粘贴到它正确的API密钥的谷歌API密钥。 而且你必须把在AndroidManifest.xml文件的代码

 <application>
 <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="YOUR_API_KEY" />

 </application>


文章来源: Android: Google Maps not displaying