我正在使用Android Google Places API自动完成街道和地址。问题是它覆盖了整个国家的所有街道。当然,我添加了边界来限制搜索的位置,但是它无法正常工作- 它仅给出优先级,因此换句话说,最佳结果在列表中会更高,仅此而已
所以代码:
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder() .setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS) .setCountry("RU") .build(); Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_OVERLAY) .zzih(searchString) //that is for passing search string from toolbar .setFilter(typeFilter) .setBoundsBias(city.getBounds()) .build(this);
简而言之,问题是:当我输入“ Lenina Street”之类的搜索内容时,我看到了很多无用的结果.setBoundsBias(city.getBounds())。试想一下,几乎 每个 地方 都 存在类似“ Lenina Street”的东西!
.setBoundsBias(city.getBounds())
如何解决该问题并限制搜索结果?
聚苯乙烯
Google Places Web API
GeoDataApi.getAutocompletePredictions()
searchString
恐怕Android版Places API尚不支持严格限制。Google问题跟踪器中有一项功能要求,可以实现此功能:
https://issuetracker.google.com/issues/38188994
随时为该功能请求加注星标,以添加您的投票并订阅来自Google的通知。
同时,解决方法可能是使用支持严格限制并手动实现UI的Places API Web服务。