Я также сталкиваюсь с той же проблемой, но я решил этот код.
Первый шаг: инициализируйте SDK Places в методе OnCreate или вы можете инициализировать его в классе приложения
if (!Places.isInitialized()) {
Places.initialize(getApplicationContext(), getString(R.string.api_key), Locale.US);
}
Второй шаг:
var fields=Arrays.asList(Place.Field.ID,Place.Field.NAME,Place.Field.LAT_LNG)
var intent = Autocomplete.IntentBuilder(AutocompleteActivityMode.FULLSCREEN, fields).build(this)
startActivityForResult(intent, PLACE_PICKER_REQUEST)
И в результате действия
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == PLACE_PICKER_REQUEST) {
if (resultCode == Activity.RESULT_OK) {
val place =Autocomplete.getPlaceFromIntent(data);
lat = place.latLng?.latitude
lng = place.latLng?.longitude
}
else if (resultCode == AutocompleteActivity.RESULT_ERROR) {
// TODO: Handle the error.
var status = Autocomplete.getStatusFromIntent(data)
Log.i("address", status.getStatusMessage());
}
}
}
Это пример Kotlin, но вы можете преобразовать его в JAVA. Также вы можете обратиться к этому URL для примеров. Пример Google Places SDK