Google Android 上的地图显示灰屏
Google Maps on Android shows grey screen
我以前遇到过这个问题,其中 Google 地图显示灰色屏幕并且没有显示地图。
我通过在测试环境中安装 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" />
您必须检查用户是否安装了 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 将自动处理问题的解决方案(如果可以解决)。
你有以下情况吗:
Add the Google Play services version to your app's manifest
Edit your application's AndroidManifest.xml file, and add the following declaration within the element. This embeds the version of Google Play services that the app was compiled with.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
请添加权限:
<permission
android:name="com.pkg.map.permission.MAPS_RECEIVE"
android:protectionLevel="signature" >
</permission>
这里com.pkg.map是映射activity所在的包名。
您可能使用了错误的 API 密钥。检查您使用的 API 密钥是否用于 Android 而不是 Javascript。基本上,如果您需要密钥,google "get API key android"。这里:https://developers.google.com/maps/documentation/android-api/signup
我以前遇到过这个问题,其中 Google 地图显示灰色屏幕并且没有显示地图。
我通过在测试环境中安装 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" />
您必须检查用户是否安装了 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 将自动处理问题的解决方案(如果可以解决)。
你有以下情况吗:
Add the Google Play services version to your app's manifest
Edit your application's AndroidManifest.xml file, and add the following declaration within the element. This embeds the version of Google Play services that the app was compiled with.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
请添加权限:
<permission
android:name="com.pkg.map.permission.MAPS_RECEIVE"
android:protectionLevel="signature" >
</permission>
这里com.pkg.map是映射activity所在的包名。
您可能使用了错误的 API 密钥。检查您使用的 API 密钥是否用于 Android 而不是 Javascript。基本上,如果您需要密钥,google "get API key android"。这里:https://developers.google.com/maps/documentation/android-api/signup