通过编程更改语言环境以影响Google';s Place自动完成服务(适用于Android的Google Places API)
有没有一种方法可以通过编程方式更改通过编程更改语言环境以影响Google';s Place自动完成服务(适用于Android的Google Places API),android,localization,locale,google-places-api,google-places,Android,Localization,Locale,Google Places Api,Google Places,有没有一种方法可以通过编程方式更改区域设置,从而影响谷歌的Place Autocomplete服务 我将描述我的情况: 我使用的设备具有英语语言环境。正如所料,当我使用希伯来语搜索Place Autocomplete服务时,它以LTR方向显示希伯来语中的可能结果,当我按下结果并从onPlaceSelected()方法中的Place对象中提取数据时,返回的信息是英文的 这是使用Place Autocomplete服务的代码: PlaceAutocompleteFragment placeAut
区域设置
,从而影响谷歌的Place Autocomplete服务
我将描述我的情况: 我使用的设备具有英语
语言环境
。正如所料,当我使用希伯来语搜索Place Autocomplete服务时,它以LTR方向显示希伯来语中的可能结果,当我按下结果并从onPlaceSelected()
方法中的Place
对象中提取数据时,返回的信息是英文的
这是使用Place Autocomplete服务的代码:
PlaceAutocompleteFragment placeAutocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
placeAutocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(Place place) {
nameString = place.getName().toString();
addressString = place.getAddress().toString();
phoneNumberString = place.getPhoneNumber().toString();
LatLng latLng = place.getLatLng();
latitudeDouble = latLng.latitude;
longitudeDouble = latLng.longitude;
nameEditText.setText(nameString);
addressEditText.setText(addressString);
phoneNumberText.setText(phoneNumberString);
latitudeTextView.setText(latitudeDouble.toString());
longitudeTextView.setText(longitudeDouble.toString());
}
@Override
public void onError(Status status) {
// TODO: Handle the error.
Log.i(TAG, "ERROR MESSAGE: " + status);
}
});
问题是,即使我通过以下方式成功地更改了活动
中的区域设置
,它仍然不起作用:
Locale locale = new Locale("iw");
Locale.setDefault(locale);
super.onCreate(savedInstanceState);
...
是否有办法解决此问题?应使用设备的区域设置请求位置详细信息结果。你使用的是英语区域和希伯来语键盘吗?你说得对,我更新了我的问题。尝试更改区域设置程序Maticaly,但即使我成功地更改了,也不会影响google的Place Autocomplete服务…:/看起来位置详细信息是使用设备的区域设置而不是应用程序的区域设置获取的。也许可以在Thank@AndrewR上提交功能请求!