【问题标题】:How to get a list of addresses by a search without the map?如何在没有地图的情况下通过搜索获取​​地址列表?
【发布时间】:2020-01-06 18:58:07
【问题描述】:

我正在尝试使用 Google Maps API 通过在 editText 中搜索地址来获取地址列表。

例如,如果我在屏幕顶部的 editText 中搜索地址,在它的下方会有一个地址列表供您选择。

我不需要它的地图部分,只需要结果和搜索框。

【问题讨论】:

    标签: java android google-maps


    【解决方案1】:

    可以选择使用PlaceAutocompleteFragment - 当我第一次添加它时,我没有结算帐户,所以你应该很好:

    1. 将其添加到 XML 中

      <fragment
      android:id="@+id/place_autocomplete_fragment"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
      />
      
    2. 使用PlaceSelectionListener

      PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
      getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);
      
      autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
      @Override
      public void onPlaceSelected(Place place) {
          // TODO: Get info about the selected place.
          Log.i(TAG, "Place: " + place.getName());
      }
      
      @Override
      public void onError(Status status) {
          // TODO: Handle the error.
          Log.i(TAG, "An error occurred: " + status);
      }
      });
      

      documentation的备注

      Google Places API 需要 API 级别 12 或更高级别才能支持 PlaceAutocompleteFragment 对象。如果您的目标应用程序早于 API 级别 12,则可以通过 SupportPlaceAutocompleteFragment 类访问相同的功能。您还必须包含 Android v4 支持库。

    【讨论】:

    • 谢谢,我已经想出了另一种方法,但这种方法也对我有用!
    • 你能告诉我你是怎么做到的吗?获得知识总是好的。
    • 是的,我关注了这个 youtube 视频来实现它:youtube.com/…
    【解决方案2】:

    首先你需要一个组件,比如AutoCompleteTextView

    第二个谷歌有一个关于自动建议地址的文档。就是这么简单,注册,创建api key等等。 Here is a link to doc.

    逻辑:用户按下输入文本,组件触发回调onTextChanged,在向用户显示收到的列表后,您请求获取建议列表。

    【讨论】:

    • 它说我必须创建一个结算帐户...有没有办法避免这种情况?
    • 看看我下面的回答,也许对你有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    相关资源
    最近更新 更多