Получить текущую информацию о местоположении, используя Google Current Place API

Я хочу получить все места в моем местоположении. Я использую Google Current Place API

private void getCurrentPlaceData() {
    mPlaceDetectionClient = Places.getPlaceDetectionClient(this);

    Task<PlaceLikelihoodBufferResponse> placeResult = mPlaceDetectionClient.
            getCurrentPlace(null);
    placeResult.addOnCompleteListener(new OnCompleteListener<PlaceLikelihoodBufferResponse>() {
        @Override
        public void onComplete(@NonNull Task<PlaceLikelihoodBufferResponse> task) {
            List<Place> placesList = new ArrayList<Place>();
            PlaceLikelihoodBufferResponse likelyPlaces = task.getResult();
            for (PlaceLikelihood placeLikelihood : likelyPlaces) {
                placesList.add(placeLikelihood.getPlace().freeze());
            }
            likelyPlaces.release();
            showAddPropertyNameDialog(AppStringConstants.ADD_NEW_STORE_TAG, placesList.get(0));
        }
    });
}

и включил следующее в файл манифеста

 <meta-data
            android:name = "com.google.android.geo.API_KEY"
            android:value = "@string/google_map_key" />

  <meta-data
            android:name = "com.google.android.gms.version"
            android:value = "@integer/google_play_services_version" />

Я написал выше метод для него. Теперь проблема в том, что он отлично работает выше 6.0, но не ниже этого.

com.google.android.gms.common.api.ApiException: 13: ERROR

и я посетил много ссылок на этом сайте, никто не помог.

Вы добавили метаданные в файл манифеста?

Nikunj 29.01.2019 08:53

обновите вопрос своим кодом манифеста.

Kartik 29.01.2019 08:56
0
2
151
1

Ответы 1

Добавьте приведенный ниже код в тег <application> в файле манифеста.

 <meta-data
            android:name = "com.google.android.gms.version"
            android:value = "@integer/google_play_services_version" />
 <meta-data
            android:name = "com.google.android.geo.API_KEY"
            android:value = "PASTE_YOUR_API_KEY_HERE" />

Вы включили следующее ?? Google Maps Distance Matrix API Google Places API Веб-служба Google Places API для Android

Kartik 29.01.2019 09:13

А также как опубликовано здесь : Напоминание: чтобы использовать Places API, вы должны получить ключ API и включить выставление счетов. Вы можете включить выставление счетов при получении ключа API (см. Краткое руководство) или как отдельный процесс (см. Использование и выставление счетов). Вы должны включить разрешение на выставление счетов. <uses-permission android:name = "com.android.vending.BILLING" />

Kartik 29.01.2019 09:15

@RajneeshShukla вы тестируете его на реальном устройстве или эмуляторе?

Kartik 29.01.2019 09:17

Я тестировал на мобильном телефоне и эмуляторе

Rajneesh Shukla 29.01.2019 10:21

Давайте продолжить обсуждение в чате.

Rajneesh Shukla 29.01.2019 10:38

вы получаете ту же ошибку после попытки ?? @RajneeshShukla

Kartik 29.01.2019 12:28

Вы должны добавить Places SDK для Android в соответствии с ограничениями API. @RajneeshShukla

Kartik 29.01.2019 12:29

спасибо @Kartik, теперь все работает. Что я сделал... Я покажу диалоговое окно с предупреждением, если разрешение на определение местоположения не дано. Он откроет экран разрешений, и когда пользователь разрешит, он работает нормально.

Rajneesh Shukla 30.01.2019 09:40

Рад это слышать :)

Kartik 30.01.2019 13:30

Другие вопросы по теме