Как ограничить PlaceAutocompleteFragment показом только станций общественного транспорта? Android - PullRequest
0 голосов
/ 27 апреля 2018

Я делаю приложение для общественного транспорта, и поэтому хочу ограничить свои PlaceAutocompleteFragment только трамвайными, автобусными и железнодорожными станциями в моем городе.

До сих пор я реализовал g oogle map, поместил фрагмент автозаполнения и ограничил его своей страной и городом. Это часть моего кода:

    PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
            getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);

    autocompleteFragment.setBoundsBias(new LatLngBounds(
            new LatLng(45.707197, 15.665182),
            new LatLng(45.913958, 16.277670)));

    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
            .setCountry("HR")
            .build();

    autocompleteFragment.setFilter(typeFilter);

Я посмотрел на фильтры и не смог найти ничего похожего на остановки общественного транспорта. Спасибо за помощь

1 Ответ

0 голосов
/ 28 апреля 2018

AutocompleteFilter предоставляет только несколько типов , как вы, наверное, уже знаете. Я думаю, у вас есть два варианта:

1) Используйте Place Autocomplete Web Service, я полагаю, что вы сможете отфильтровать возвращенный результат в URL, вам придется попробовать.
2) Google предоставляет таблицы для типов мест здесь . Необходимый тип заведения доступен в Table 1, что соответствует Поиск места , который также является веб-службой.

Так что для обоих вам придется сделать HTTP-запрос. Но, к сожалению, вы не можете отфильтровать их, используя AutocompleteFilter. Но ради попыток:

AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
                .setTypeFilter(Place.TYPE_BANK)
                .build();

И это тоже не работает. Таким образом, вы можете использовать веб-сервис.

...