Java PlacePicker.IntentBuilder搜索未本地化

Java PlacePicker.IntentBuilder搜索未本地化,java,android,google-maps,Java,Android,Google Maps,我正在使用PlacePicker.IntentBuilder从地图中选择附近的位置。一切正常,但顶部搜索栏建议未本地化,例如。 我住在沙特阿拉伯,当我写applebees时,它建议我在美国的所有applebees。我如何使这个搜索本地化。 任何帮助都将不胜感激 我的代码是: PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); LatLngBounds bounds = new LatLngBou

我正在使用
PlacePicker.IntentBuilder
从地图中选择附近的位置。一切正常,但顶部搜索栏建议未本地化,例如。 我住在沙特阿拉伯,当我写applebees时,它建议我在美国的所有applebees。我如何使这个搜索本地化。 任何帮助都将不胜感激

我的代码是:

    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
    LatLngBounds bounds = new LatLngBounds(new LatLng(
           getLocation().getLatitude(), getLocation().getLongitude()), 
           new LatLng(getLocation().getLatitude(), getLocation().getLongitude()));

    builder.setLatLngBounds(bounds);        

    startActivityForResult(builder.build(getActivity()),
           PLACE_AUTOCOMPLETE_REQUEST_CODE);
下面是我的结果的屏幕截图:


我记得你可以给一个区域来封装搜索区域。这是

您需要使用
setLatLngBounds
方法

更新

同时确保使用更优雅的代码和优化的区域,因为您的点数超过2

祝你好运


Emre

添加Lat Lang边界将设置地图的起始视口,同时返回该边界周围的位置:

 public class PlacePickerActivity extends AppCompatActivity {
        private static final int PLACE_PICKER_REQUEST = 1;
        private TextView mName;
        private TextView mAddress;
        private TextView mAttributions;
        private static final LatLngBounds BOUNDS_MOUNTAIN_VIEW = new LatLngBounds(
                new LatLng(37.398160, -122.180831), new LatLng(37.430610, -121.972090));

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_place_picker);
            mName = (TextView) findViewById(R.id.textView);
            mAddress = (TextView) findViewById(R.id.textView2);
            mAttributions = (TextView) findViewById(R.id.textView3);
            Button pickerButton = (Button) findViewById(R.id.pickerButton);
            pickerButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    try {
                        PlacePicker.IntentBuilder intentBuilder =
                                new PlacePicker.IntentBuilder();
                        intentBuilder.setLatLngBounds(BOUNDS_MOUNTAIN_VIEW);
                        Intent intent = intentBuilder.build(PlacePickerActivity.this);
                        startActivityForResult(intent, PLACE_PICKER_REQUEST);

                    } catch (GooglePlayServicesRepairableException
                            | GooglePlayServicesNotAvailableException e) {
                        e.printStackTrace();
                    }
                }
            });
        }

setLatLngBounds仅设置地图的起始视口。请尝试一下。到目前为止,这是我的尝试。PlacePicker.IntentBuilder生成器=新的PlacePicker.IntentBuilder();LatLngBounds界限=新LatLngBounds(新LatLng(15.199386,43.096619),新LatLng(34.452218,42.745056));builder.setLatLngBounds(边界);startActivityForResult(builder.build(getActivity()),PLACE\u AUTOCOMPLETE\u REQUEST\u CODE);