Поиск 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();
}
}
});
}