我正在尝试在我的Android应用程序中实现谷歌地图,但我遇到了错误
“android Failed to load map. Could not contact Google servers
”。
我已经包含谷歌播放库,使用SHA1证书指纹获得密钥。
我得到了SHA1证书指纹:
sudo keytool -v -list -alias androiddebugkey \-keystore /home/.android/debug.keystore
我根据This
管理了我的清单文件现在我无法找到此错误的原因..非常感谢任何建议...
修改: 我的清单文件权限如下:
<permission
android:name="PAKG_NAME.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="PAKG_NAME.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
.....................
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="MY_KEY" />
我的布局xml的片段为:
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
class="com.google.android.gms.maps.SupportMapFragment" />
Logcat输出:
E/Google Maps Android API(31478): Failed to load map. Could not contact Google servers.
答案 0 :(得分:4)
您确定已启用“Google Maps Android API v2”而非“Google Maps API v2”吗? 更改后,删除并重新创建API密钥。这对我有用......
答案 1 :(得分:3)
尝试右键单击您的项目,然后选择属性&gt; Android&gt;并在“项目构建目标”中选择Google API。这对我有用:)
答案 2 :(得分:2)
如果您确定自己的API密钥,则应从手机中卸载程序并重新安装。它对我有用:)
答案 3 :(得分:0)
您是否在控制台检查中启用了Google android map API v2 它恰当。 我想你启用谷歌地图v2,为什么请求失败......
答案 4 :(得分:0)
您应检查同一项目是否有重复的API_KEY。如您所知,我们将使用sha1键和android项目名称来获取API密钥。如果您尝试使用相同的sha1; android_project_name对来获取API密钥,Google将为您提供另一个API密钥。所以它重复了。如果删除较新的并使用项目中较旧的那个,它将解决您的问题。 至少我希望:))
答案 5 :(得分:0)
重构和更改项目包标识符时遇到此问题。如果是这种情况,您必须在Google Developer Console上创建一个新项目并再次链接到您的项目。出于某种原因,Google会阻止来自同一应用的请求,如果它更改了ID。