繁体   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