无法在 Android 中的地图上添加标记
Unable to add marker on map in Android
我在启动 mapActivity 时收到此异常。
GooglePlayServicesUtil: Google Play services out of date. Requires
8298000 but found 6599036
应用程序在下一行崩溃。
final Marker marker = mMap.addMarker(new MarkerOptions().position(location);
注意:应用程序在4.3 和5.0.1 版本上运行良好,但在4.4.2 中遇到此问题。有什么解决办法吗?
谢谢
Google Play services out of date. Requires 8298000 but found 6599036
更新 Tools > Android > SDK Manager
中的包,然后检查 Extras 中所有有可用更新的包。
请使用更新后的版本
dependencies {
compile 'com.google.android.gms:play-services:8.4.0'
// or compile 'com.google.android.gms:play-services-wearable:7.8.0'
}
这是一个运行时错误,当设备没有至少与您的应用编译时使用的 Google Play 服务版本相同时发生。
您的应用程序中应该有代码提示用户升级 Google Play 服务,如果他们没有您的应用程序要求的最低版本。
现在已弃用的旧方法是使用 GooglePlayServicesUtil:
status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (status != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
GooglePlayServicesUtil.getErrorDialog(status, this,
100).show();
}
}
新的方法是使用新的GoogleApiAvailability class, code from this answer:
private boolean checkPlayServices() {
GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance();
int result = googleAPI.isGooglePlayServicesAvailable(this);
if(result != ConnectionResult.SUCCESS) {
if(googleAPI.isUserResolvableError(result)) {
googleAPI.getErrorDialog(this, result,
PLAY_SERVICES_RESOLUTION_REQUEST).show();
}
return false;
}
return true;
}
我在启动 mapActivity 时收到此异常。
GooglePlayServicesUtil: Google Play services out of date. Requires 8298000 but found 6599036
应用程序在下一行崩溃。
final Marker marker = mMap.addMarker(new MarkerOptions().position(location);
注意:应用程序在4.3 和5.0.1 版本上运行良好,但在4.4.2 中遇到此问题。有什么解决办法吗?
谢谢
Google Play services out of date. Requires 8298000 but found 6599036
更新 Tools > Android > SDK Manager
中的包,然后检查 Extras 中所有有可用更新的包。
请使用更新后的版本
dependencies {
compile 'com.google.android.gms:play-services:8.4.0'
// or compile 'com.google.android.gms:play-services-wearable:7.8.0'
}
这是一个运行时错误,当设备没有至少与您的应用编译时使用的 Google Play 服务版本相同时发生。
您的应用程序中应该有代码提示用户升级 Google Play 服务,如果他们没有您的应用程序要求的最低版本。 现在已弃用的旧方法是使用 GooglePlayServicesUtil:
status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (status != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
GooglePlayServicesUtil.getErrorDialog(status, this,
100).show();
}
}
新的方法是使用新的GoogleApiAvailability class, code from this answer:
private boolean checkPlayServices() {
GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance();
int result = googleAPI.isGooglePlayServicesAvailable(this);
if(result != ConnectionResult.SUCCESS) {
if(googleAPI.isUserResolvableError(result)) {
googleAPI.getErrorDialog(this, result,
PLAY_SERVICES_RESOLUTION_REQUEST).show();
}
return false;
}
return true;
}