【问题标题】:How do I get the full address of location using Google Places Autocomplete?如何使用 Google Places Autocomplete 获取位置的完整地址?
【发布时间】:2019-12-30 20:49:56
【问题描述】:

我正在使用Google Places Autocomplete。他们开始输入,当用户点击自动完成列表中的地址时,我希望该地址显示在我的EditText 中。

例如,当我点击下图中的22 Moyclare Road, Dublin 13, Ireland 时,我希望22 Moyclare Road, Dublin 13, Ireland 显示在我的Edittext 中。

但我得到的只是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);
    }
  }

【问题讨论】:

    标签: java android google-maps google-places-api googleplacesautocomplete


    【解决方案1】:

    您需要使用place.getAddress() 方法而不是place.getName() 来获取一个地点的完整地址。

    mEditInit.setText(place.getAddress());
    

    确保指定地址字段,即Place.Field.ADDRESS。参考谷歌的documentation

    要获取您要搜索的爱尔兰地点的完整地址,而不是选择 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 full address的接受答案

    希望这会有所帮助!

    【讨论】:

    • 谢谢,让我走上正轨。现在,当我从自动完成列表中单击22 Moyclare Road, Dublin 13, Ireland 时,我会得到Moyclare Rd, Northside, Dublin, Ireland 的输出...这比我最初得到的更接近。但是我怎样才能得到与自动完成中列出的完全一样的输出:22 Moyclare Road, Dublin 13, Ireland
    • 您需要输入 Northside 地址,即输入“22 moyclare road northside”,然后从自动完成中选择第一个建议。
    猜你喜欢
    • 1970-01-01
    • 2022-07-15
    • 2015-03-24
    • 1970-01-01
    • 2016-05-16
    • 2015-12-30
    • 2022-11-18
    • 1970-01-01
    • 2011-07-08
    相关资源
    最近更新 更多