谷歌地图只显示空白磁贴android

时间:2011-04-23 11:02:58

标签: android google-maps android-emulator

我在我的应用中实现了谷歌地图。但它只显示空白网格。我在AndroidManifest.xml文件中做了更改,并在地图活动的布局文件中包含了API密钥。

6 个答案:

答案 0 :(得分:6)

这可能听起来很愚蠢,但我一直遇到这个问题,直到我意识到<uses-permission>标签需要直接指向<manifest>元素,而不是<application>元素。我错误地将它们放在<uses-library>标签之后。所以AndroidManifest.xml文件的最终结构应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <uses-sdk ... />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

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

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

    </application>
</manifest>

希望这有助于任何犯同样错误的人!

答案 1 :(得分:3)

我遇到了同样的问题,直到我意识到在API控制台中我启用了

Google Maps API v2

而不是

Google地图 Android API v2

一旦我启用它,一切都很好。

答案 2 :(得分:0)

我遇到了同样的问题。我在Manifest.xml上添加了这一行,现在一切正常:

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

答案 3 :(得分:0)

问题是代码API。使用以下功能查看Key Google Maps是否正确:

private String getShaKey() {
        //fucnion para saber si esta bien registrado el codigo de googlemaps
        //ME SALE EXCEPTION DE NOMBRE NO ENCONTRADO?¿?¿
        String strRet="";
         try {
         PackageInfo info = getPackageManager().getPackageInfo("your.package.name",
         PackageManager.GET_SIGNATURES);
         for (Signature signature : info.signatures) {
         MessageDigest md = MessageDigest.getInstance("SHA");
         md.update(signature.toByteArray());
         //Log.v(TAG, "KeyHash:" + Base64.encodeToString(md.digest(),
         strRet="KeyHash:" + Base64.encodeToString(md.digest(),Base64.DEFAULT);

         }

         } catch (NameNotFoundException e) {
            //e.printStackTrace();
         strRet="EXCEPTION NOMBRE NO ENCONTRADO";
             } catch (NoSuchAlgorithmException  e) {
         //e.printStackTrace();
         strRet="EXCEPTION ALGORITMO NO";
         }
        return strRet;

         }

答案 4 :(得分:0)

这也发生在我身上。我第一次成功启动谷歌地图,在第二天工作正常,整个地图(默认视图)只渲染了一半而另一半只填充了瓷砖,在更改地图中的某些属性后,这一切都仅用于瓷砖

Now, what I did is I renew my API key and everything went fine.

答案 5 :(得分:0)

当我以 Intent (cur.executemany(...)) 启动地图时发生了这种情况。地图创建为空且未加载任何内容。地图在右上角显示我的图标为“已登录用户”,但根本没有错误消息。一切都在模拟器上完美运行。最后,我查看了普通的谷歌地图应用,也是空的。

解决方案:从开发设备的设置应用程序中删除我的 Google 帐户。我花了几个小时才弄明白。不知道那是什么,但也许可以节省一些时间来了解。