java - 如何使用 Google Places Autocomplete 获取位置的完整地址?
问题描述
我正在使用Google Places Autocomplete
. 他们开始输入,当用户单击自动完成列表中的地址时,我希望此地址显示在我的EditText
.
例如,当我22 Moyclare Road, Dublin 13, Ireland
在下图中单击时,我想22 Moyclare Road, Dublin 13, Ireland
在我的Edittext
.
但我得到的只是Moyclare Road
,像这样:
我正在使用like:的getName
属性,但无论我使用什么属性,我都无法让它显示完整地址。有任何想法吗?place
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 的文档。
要获取您正在搜索的爱尔兰地点的完整地址,而不是选择 ,而是22 Moyclare Road, Dublin 13, Ireland
从自动完成中选择 Northside 结果,即22 Moyclare Road, Northside, Dublin 13, Ireland
。
您将获得以下输出getAddress
:
22 Moyclare Rd, Northside, Dublin 13, D13 W2X2, Ireland
至于如何在搜索栏中显示,请查看相关问题placeautocompletefragment 完整地址的接受答案
希望这可以帮助!
推荐阅读
- jquery - 将更多信息传递到 Google Maps InfoWindow
- python - 将字典列表分配给 for 循环中的函数
- html - div 悬停触发器不适用于 box-shadow
- postgresql - 错误:列“semester_id”是整数类型,但表达式是布尔类型
- xml - 在 XSLT 3.0 中将字符串转换为星期几、月 dd、年时间到日期格式 yyyy-mm-dd 时间
- hadoop - oozie 中不允许访问本地文件系统
- css - 将两个元素与`backdrop-filter: blur()`对齐
- function - 右键单击更改div颜色
- haskell - “sprint” GHCi 命令中的“s”是什么意思?
- javascript - 从回调到 Hapi v17 中的异步/等待