我正在使用 Google 地点自动完成
。他们开始输入,当用户单击自动完成列表中的地址时,我希望该地址显示在我的 EditText
中。
例如,当我点击下图中的 22 Moyclare Road, Dublin 13, Ireland
时,我希望 22 Moyclare Road, Dublin 13, Ireland
显示在我的Edittext
。
但我得到的只是Moyclare Road
,如下所示:
我正在使用 place
的 getName
属性,例如: mEditInit.setText(place.getName());
但无论什么属性我使用我无法让它显示完整地址。有什么想法吗?
这是我的 onActivityResult
函数的完整代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == AUTOCOMPLETE_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Place place = Autocomplete.getPlaceFromIntent(data);
mEditInit.setText(place.getName());
} else if (resultCode == AutocompleteActivity.RESULT_ERROR) {
// TODO: Handle the error.
Status status = Autocomplete.getStatusFromIntent(data);
// Log.i(TAG, status.getStatusMessage());
} else if (resultCode == RESULT_CANCELED) {
// The user canceled the operation.
}
// super.onActivityResult(requestCode, resultCode, data);
}
}
最佳答案
您需要使用 place.getAddress()
方法而不是 place.getName()
来获取地点的完整地址。
mEditInit.setText(place.getAddress());
确保指定地址字段,即 Place.Field.ADDRESS
。引用Google的documentation 。
要获取您要搜索的爱尔兰地点的完整地址,请从自动完成中选择 Northside 结果,即 22 Moyclare,而不是选择
。22 Moyclare Road, Dublin 13, Ireland
路,北区,都柏林 13,爱尔兰
您将从 getAddress
获得以下输出:
22 Moyclare Rd, Northside, Dublin 13, D13 W2X2, Ireland
至于如何在搜索栏中显示,请查看相关问题接受的答案 placeautocompletefragment full address
希望这有帮助!
关于java - 如何使用 Google 地方信息自动完成功能获取位置的完整地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59536706/