【发布时间】:2013-06-19 06:55:36
【问题描述】:
授权失败。请参阅https://developers.google.com/maps/documentation/android/start了解如何正确设置地图。
确保以下内容与 API 控制台中的内容相对应:包名称:com.company.app,API 密钥:AIzaSyC***OsTeo,证书指纹:4E5285***6BF53ED3
无法联系 Google 服务器。建立连接后将进行另一次尝试。
加载地图失败。联系 Google 服务器时出错。这可能是身份验证问题(但可能是由于网络错误)。
我知道关于这个主题的问题已经够多了。 但我似乎无法让地图视图正常工作。结果是一个空的地图视图(带有缩放按钮)。
我做了什么:
- 下载/安装 google-play-services
- 将google-play-services.jar 添加到libs/
- 在 code.google.com/apis/console
中启用 Google Maps API v2
- 设置正确的权限
这是我的清单的样子:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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" />
<permission
android:name="com.company.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.company.app.permission.MAPS_RECEIVE" />
<application ...>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyC***OsTeo" />
</application>
Google API 控制台 api 访问如下所示:
Key for Android apps (with certificates)
API key: AIzaSyC***OsTeo
Android apps: 4E:52:85:***6B:F5:3E:D3;com.company.app
Activated on: Jun 18, 2013 11:07 PM
Activated by: my@email.com – you
还有一些代码(我不明白为什么会导致授权错误):
FragmentManager fragmentManager = super.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
SupportMapFragment fragment = new SupportMapFragment();
fragmentTransaction.replace(R.id.mapContainer, fragment);
fragmentTransaction.commit();
如您所见,我收到一条错误消息,指出包名、api 密钥和证书指纹与谷歌服务器不对应。但就像我在上面写的那样,这些值确实匹配......
【问题讨论】:
-
你不应该激活
Google Maps Android API v2吗?您可能希望从设备/模拟器中删除应用程序,清理项目并重新安装。 -
您是否在 api 控制台中启用了 google maps for android 以及您是如何引用库项目的?
-
@Luksprog:该死,多么明显。仅启用
Google Maps API v2而不是Google Maps Android API v2。现在它完美地工作了。谢谢! (您能否粘贴您的评论作为答案,以便我接受?)
标签: android google-maps-android-api-2