无法在Android中的地图上添加标记
作者:互联网
启动mapActivity时出现此异常.
GooglePlayServicesUtil: Google Play services out of date. Requires
8298000 but found 6599036
和应用崩溃在下一行.
final Marker marker = mMap.addMarker(new MarkerOptions().position(location);
注意:App在4.3和5.0.1版本上工作正常,但在4.4.2中遇到此问题.有什么办法吗?
谢谢
解决方法:
当设备没有至少与您的应用程序编译时使用的版本相同的Google Play服务时,就会发生运行时错误.
您的应用程序中应包含代码,如果用户没有应用程序要求的最低版本,则它们会提示用户升级Google Play服务.
现在不推荐使用的旧方法是使用GooglePlayServicesUtil:
status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (status != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
GooglePlayServicesUtil.getErrorDialog(status, this,
100).show();
}
}
新方法是使用新的GoogleApiAvailability类,代码从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;
}
标签:android,google-maps-markers,android-gps 来源: https://codeday.me/bug/20191012/1899266.html