[英]How do I implement Google places autocomplete on a search widget in my android app?
[英]How do I get the full address of location using Google Places Autocomplete?
我正在使用Google Places Autocomplete
。 他们开始输入,当用户单击自动完成列表中的地址时,我希望该地址显示在我的EditText
。
例如,当我22 Moyclare Road, Dublin 13, Ireland
单击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 的文档。
要获取您正在搜索的爱尔兰地点的完整地址,请不要选择22 Moyclare Road, Dublin 13, Ireland
,而是从 Autocomplete 中选择 Northside 结果,即22 Moyclare Road, Northside, Dublin 13, Ireland
。
您将获得以下内容作为getAddress
输出:
22 Moyclare Rd, Northside, Dublin 13, D13 W2X2, Ireland
至于如何在搜索栏中显示这一点,请查看相关问题placeautocompletefragment full address的已接受答案
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.