我在我的应用中实现了谷歌地图。但它只显示空白网格。我在AndroidManifest.xml文件中做了更改,并在地图活动的布局文件中包含了API密钥。
答案 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 帐户。我花了几个小时才弄明白。不知道那是什么,但也许可以节省一些时间来了解。