其他分享
首页 > 其他分享> > 无法在Android中的地图上添加标记

无法在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