Поиск PlacePicker.IntentBuilder не локализован

Я использую PlacePicker.IntentBuilder выбрать близлежащие места на карте. Все работает, как и ожидалось, но подсказки в верхней строке поиска не локализованы, например, я живу в Саудовской Аравии, и когда я пишу яблочных пчел, мне предлагаются все яблочные пчелы в США. Как я могу сделать этот поиск локализованным. Любая помощь будет оценена.

Мой код:

    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);

Ниже приведен скриншот моего результата:

2 ответа

Насколько я помню, вы можете дать регион для инкапсуляции области поиска. Вот ссылка.

Вам нужно использовать setLatLngBounds метод.

ОБНОВИТЬ

Также убедитесь, что вы используете LatLngBound.Builder для более элегантного кода и выбранной области, поскольку у вас больше 2 баллов.

Удачи

Эмре

Добавление границ Lang Lat установит начальный видовой экран карты и одновременно вернет места вокруг этих границ:

 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();
                    }
                }
            });
        }
Другие вопросы по тегам