簡體   English   中英

如何使用 Google Places Autocomplete 獲取位置的完整地址?

[英]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

<code>在此處輸入圖片描述</code>

但我得到的只是Moyclare Road ,就像這樣:

在此處輸入圖片說明

我正在使用placegetName屬性,例如: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM