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