我正在尝试使用Google Places API获取某个地方的纬度和经度。
我正在关注此示例:Google Directions Android
我像这样配置客户端:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
但接下来:
PendingResult<PlaceBuffer> placeResult = Places.GeoDataApi
.getPlaceById(mGoogleApiClient, placeId);
我收到以下错误:
java.lang.IllegalArgumentException: GoogleApiClient is not configured to use the API required for this call.
我该如何解决?
我在Google API控制台上激活了API,我认为我正在配置它,就像示例一样。
答案 0 :(得分:7)
因此,在与@Daniel讨论之后,解决方案是使用两个不同的GoogleApiClient
实例:一个用于LocationServices API,另一个用于Places API。
答案 1 :(得分:0)
只需如下创建两个GoogleApiClient实例并相应地使用:
GoogleApiClient mGoogleApiClient1,mGoogleApiClient2;
mGoogleApiClient1 = new GoogleApiClient.Builder(this)
.addApi(Places.PLACE_DETECTION_API)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mGoogleApiClient2 = new GoogleApiClient.Builder(this)
.addApi(Places.GEO_DATA_API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();