У меня возникла та же проблема, но я смог ее исправить.
Проблема заключается в том, что версия Places SDK для Android для Google Play Services (в Google Play Services 16.0.0) устарелапо состоянию на 29 января 2019 года и будет отключен 29 июля 2019 года. И если вы проверите под консолью Google API, у него есть только API PLACES, и больше нет ничего похожего на PLACES SDK FOR ANDROID.
В разделе зависимостей вашего файла build.gradle уровня приложения добавьте зависимость для новой клиентской библиотеки SDK, как показано в следующем примере:
implementation 'com.google.android.libraries.places:places:1.0.0'
Затем вы инициализируете ее.
// Add an import statement for the client library.
import com.google.android.libraries.places.api.Places;
...
// Initialize Places.
Places.initialize(getApplicationContext(), apiKey);
// Create a new Places client instance.
PlacesClient placesClient = Places.createClient(this);
Программное автозаполнение
В автозаполнение были внесены следующие изменения: PlaceAutocomplete переименовано в Автозаполнение.PlaceAutocomplete.getPlace переименовывается в Autocomplete.getPlaceFromIntent.PlaceAutocomplete.getStatus переименовывается в Autocomplete.getStatusFromIntent.PlaceAutocomplete.RESULT_ERROR переименовывается в AutocompleteActivity.RESULT_ERROR (обработка ошибок для фрагмента автозаполнения НЕ изменилась).
Если вы используете виджет автозаполнения, как в моем случае, вы можете использовать это.
<fragment
android:id="@+id/autocomplete_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:name=
"com.google.android.libraries.places.widget.AutocompleteSupportFragment"
/>
Затем инициализируйте места
/**
* Initialize Places. For simplicity, the API key is hard-coded. In a production
* environment we recommend using a secure mechanism to manage API keys.
*/
if (!Places.isInitialized()) {
Places.initialize(getApplicationContext(), "YOUR_API_KEY");
}
// Initialize the AutocompleteSupportFragment.
AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment)
getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);
autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
// TODO: Get info about the selected place.
Log.i(TAG, "Place: " + place.getName() + ", " + place.getId());
}
@Override
public void onError(Status status) {
// TODO: Handle the error.
Log.i(TAG, "An error occurred: " + status);
}
});
Проверьте здесь для получения дополнительной информации
Переход на SDK нового места