2016-09-01 3 views
3

Я пытаюсь получить широту и долготу места с помощью API Google Адресов.GoogleApiClient не настроен для использования 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. 

Как я могу это решить?

У меня есть API-интерфейсы, активированные на консоли Google API, и я думаю, что настраиваю его правильно, как в примере.

+0

Вы добавили правильную конфигурацию в файл манифеста? https://developers.google.com/places/android-api/start –

+0

@MatiasElorriaga да, я использую тот же ключ API, что и для Карт Google, и карты работают правильно. –

+0

Вы вызываете 'mGoogleApiClient.connect();' –

ответ

6

Итак, обсудив это с @Daniel, решение состоит в использовании двух разных экземпляров GoogleApiClient: один для API LocationServices и другой для API Places.

Смежные вопросы