我正在使用 setBoundsBias 来限制 google map autocompletePlace 中的自动完成结果,但结果包含超出范围的地方。 有什么问题吗?
{
final int PLACE_AUTOCOMPLETE_REQUEST_CODE = 1;
AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
.setCountry("IR")
.build();
try {
Intent intent =
new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_OVERLAY)
.setBoundsBias(new LatLngBounds(new LatLng(38.051183, 46.211586),
new LatLng(38.132784, 46.392860)))
.setFilter(typeFilter)
.build(MainActivity.this);
startActivityForResult(intent, PLACE_AUTOCOMPLETE_REQUEST_CODE);
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
} catch (GooglePlayServicesRepairableException | GooglePlayServicesNotAvailableException e) {
e.fillInStackTrace();
}
}
最佳答案
bounds bias 不是一个严格的过滤器,所以不能保证区域之外的地方不被包括在内。目前,Android 版 Places API 没有应用严格界限的选项。
几个月前,Places API 网络服务和 Maps JavaScript API 的 places 库中引入了应用严格边界过滤器的功能。您可以在问题跟踪器中引用此功能请求:
https://buganizer.corp.google.com/issues/35826806
但是,Android 版 Places API 和 iOS 版 Places API 仍然缺少此功能。
我已经在 Android 的公共(public)问题跟踪器中创建了一个功能请求:
https://issuetracker.google.com/issues/38188994
对于 iOS:
https://issuetracker.google.com/issues/38188941
请为这些功能请求加注星标以投出您的一票并订阅来自 Google 的更新。
希望有一天他们会实现这一功能。
关于android - 通过 setBoundsBias 限制自动完成结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43845866/