通过setBoundsBias限制自动填充结果

时间:2017-05-08 10:56:12

标签: android google-maps google-places-api

我正在使用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();
                }

}

1 个答案:

答案 0 :(得分:4)

边界偏差不是严格的过滤器,因此无法保证不包括该区域之外的位置。目前,Places API for Android没有选项来应用严格限制。

几个月前,Places API网络服务和Maps JavaScript API的地方库中引入了应用严格边界过滤器的功能。您可以在问题跟踪器中参考此功能请求:

https://buganizer.corp.google.com/issues/35826806

但是,适用于Android的Places API和适用于iOS的Places API仍然缺少此功能。

我在Android的公共问题跟踪器中创建了一项功能请求:

https://issuetracker.google.com/issues/38188994

和iOS:

https://issuetracker.google.com/issues/38188941

请为这些功能请求添加星标,以添加您的投票并订阅Google的更新。

希望有一天他们会实现这个功能。

相关问题