之前我遇到过这个问题,谷歌地图显示灰色屏幕,没有显示地图。
我通过在测试环境中安装Google服务解决了这个问题,并且工作正常。
现在的问题是,已发布的应用为从Google Play安装该应用的用户显示相同的灰色屏幕(无地图)。
我无法让人们去下载Google服务,以便让我的应用运行起来。
无论如何,我可以将这些服务嵌入我的应用程序或任何其他方式来解决此问题。
由于
我在google_maps_api.xml
中有这个 <string name="google_maps_key" translatable="false" templateMergeStrategy="preserve">
AIzaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
</string>
我在清单中也有这个
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/google_maps_key" />
答案 0 :(得分:3)
您必须检查用户是否安装了Google Play服务。
private static final int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;
private boolean checkPlayServices() {
int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (resultCode != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
GooglePlayServicesUtil.getErrorDialog(resultCode, this,
PLAY_SERVICES_RESOLUTION_REQUEST).show();
}
return false;
}
return true;
}
Android会自动处理问题的解决方案(如果可以解决)。
答案 1 :(得分:2)
你有以下内容:
将Google Play服务版本添加到您应用的清单
编辑应用程序的AndroidManifest.xml文件,并在元素中添加以下声明。这会嵌入应用程序编译的Google Play服务版本。
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
答案 2 :(得分:2)
您可能使用了错误的API密钥。检查您是否使用Android的API密钥,而不是Javascript。基本上,如果你需要密钥,谷歌“获取API密钥android”。这里:https://developers.google.com/maps/documentation/android-api/signup
答案 3 :(得分:1)
请添加权限:
<permission
android:name="com.pkg.map.permission.MAPS_RECEIVE"
android:protectionLevel="signature" >
</permission>
此处com.pkg.map是存在地图活动的包名称。