Я хочу получить все места в моем местоположении. Я использую 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
и я посетил много ссылок на этом сайте, никто не помог.
обновите вопрос своим кодом манифеста.
Добавьте приведенный ниже код в тег <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
А также как опубликовано здесь : Напоминание: чтобы использовать Places API, вы должны получить ключ API и включить выставление счетов. Вы можете включить выставление счетов при получении ключа API (см. Краткое руководство) или как отдельный процесс (см. Использование и выставление счетов). Вы должны включить разрешение на выставление счетов. <uses-permission android:name = "com.android.vending.BILLING" />
@RajneeshShukla вы тестируете его на реальном устройстве или эмуляторе?
Я тестировал на мобильном телефоне и эмуляторе
Давайте продолжить обсуждение в чате.
вы получаете ту же ошибку после попытки ?? @RajneeshShukla
Вы должны добавить Places SDK для Android в соответствии с ограничениями API. @RajneeshShukla
спасибо @Kartik, теперь все работает. Что я сделал... Я покажу диалоговое окно с предупреждением, если разрешение на определение местоположения не дано. Он откроет экран разрешений, и когда пользователь разрешит, он работает нормально.
Рад это слышать :)
Вы добавили метаданные в файл манифеста?