关于在Android中使用Google商家信息Api的ERROR_OPERATION_FAILED状态代码

时间:2015-07-10 10:51:14

标签: android google-maps google-places-api google-places

我正在使用this教程创建自动填充搜索框。我创建了一个自定义适配器来填充我的自动填充文本框。

mGoogleApiClient = new GoogleApiClient.Builder(ActivityMap.this)
            .addApi(Places.GEO_DATA_API)
            .enableAutoManage(this, GOOGLE_API_CLIENT_ID, this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .build();             

PendingResult<AutocompletePredictionBuffer> results =
        Places.GeoDataApi.getAutocompletePredictions(mGoogleApiClient,
                                                    constraint.toString(), 
                                                    mBounds, null);

但是,我收到以下错误消息,如下所示:

{statusCode=ERROR_OPERATION_FAILED, resolution=null}

适用于

中getPredictions方法中的以下代码行
final Status status = autocompletePredictions.getStatus();
        if (!status.isSuccess()) {
            Toast.makeText(getContext(), "Error: " + status.toString(),
                    Toast.LENGTH_SHORT).show();
            Log.e(TAG, "Error getting place predictions: " + status.toString());
            autocompletePredictions.release();
            return null;
        }

PS: 在行中:

PendingResult<AutocompletePredictionBuffer> results =
                Places.GeoDataApi
                        .getAutocompletePredictions(mGoogleApiClient, constraint.toString(), 
mBounds, mPlaceFilter);

我尝试将mPlaceFilter更改为null,结果相同

1 个答案:

答案 0 :(得分:3)

最后,想通了。我在Android Manifest中编写了一个不同的API密钥。

此外,如果您将Google API密钥用于多个应用程序,请仅指定一次密钥(使用Android教程设置指南)并在同一项目中启用对其他API的支持。