![](/img/trans.png)
[英]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.