В настоящее время я создаю функциональность для поиска компании с AutocompleteTextView. Для этого я использую A PlaceAutocomplete IntentBuilder с режимом наложения следующим образом:
try {
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
.setTypeFilter(AutocompleteFilter.TYPE_FILTER_ESTABLISHMENT)
.setCountry("NL")
.build();
Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_OVERLAY)
.setFilter(typeFilter)
.build(activity);
activity.startActivityForResult(intent, placeAutocompleteRequestCode);
} catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
Log.e(TAG, "Something went wrong getting the places fragment." + e.getMessage());
}
Я получаю следующее:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PLACE_AUTOCOMPLETE_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Place place = PlaceAutocomplete.getPlace(this, data);
Log.i(TAG, "Place: " + place.getName());
} else if (resultCode == PlaceAutocomplete.RESULT_ERROR) {
Status status = PlaceAutocomplete.getStatus(this, data);
Log.i(TAG, status.getStatusMessage());
} else if (resultCode == RESULT_CANCELED) {
// The user canceled the operation.
}
}
}
Но я не могу найти время открытия в объекте "место". Как я могу их восстановить? Я могу найти только тех, кто использует API, но я предпочитаю этот фрагмент автозаполнения.
Также попробовал это с вызовом API, чтобы позже получить местную информацию по идентификатору места, но, похоже, это разрешено только для ключей сервера. Если у кого-то есть работа с ключом выпуска на Android, тогда это будет хорошим исправлением. Но все еще кажется громоздким.