我正在尝试通过 Google Places 在 Google Maps 上实现搜索。但是谷歌搜索出现了
Posted
技术标签:
【中文标题】我正在尝试通过 Google Places 在 Google Maps 上实现搜索。但是谷歌搜索出现了【英文标题】:I'm trying to implement search on Google Maps via Google Places. But google search emerges 【发布时间】:2021-01-11 00:58:46 【问题描述】:我正在尝试通过 Google 地方信息在 Google 地图上实现搜索。在我的 xml 中,我使用 AutoCompleteTextView
元素。但是当我点击search bar
- 谷歌搜索出现
为什么?
是否可以在没有adapter
的情况下使用我的searchbar
实现谷歌位置?
3sec video screen
【问题讨论】:
【参考方案1】:来自docs:
要将 AutocompleteSupportFragment 添加到您的应用,请执行以下步骤:
将片段添加到活动的 XML 布局中。 为您的活动或片段添加监听器。
布局:
<fragment android:id="@+id/autocomplete_fragment"
android:layout_
android:layout_
android:name="com.google.android.libraries.places.widget.AutocompleteSupportFragment"
/>
代码:
// Initialize the AutocompleteSupportFragment.
val autocompleteFragment =
supportFragmentManager.findFragmentById(R.id.autocomplete_fragment)
as AutocompleteSupportFragment
// Specify the types of place data to return.
autocompleteFragment.setPlaceFields(listOf(Place.Field.ID, Place.Field.NAME))
// Set up a PlaceSelectionListener to handle the response.
autocompleteFragment.setOnPlaceSelectedListener(object : PlaceSelectionListener
override fun onPlaceSelected(place: Place)
// TODO: Get info about the selected place.
Log.i(TAG, "Place: $place.name, $place.id")
override fun onError(status: Status)
// TODO: Handle the error.
Log.i(TAG, "An error occurred: $status")
)
【讨论】:
不幸的是没有。我发现的只是 - 您可以创建自定义搜索 UI 来替代自动完成小部件提供的 UI。为此,您的应用程序必须以编程方式获取位置预测。您的应用可以通过调用 PlacesClient.findAutocompletePredictions() 并传递带有以下参数的 FindAutocompletePredictionsRequest 对象,从自动完成 API 获取预测的地名和/或地址列表。从这里 - developers.google.com/places/android-sdk/… 你想做什么? 阅读文档、编写代码和在媒体上共享代码。我已经写了这个适配器。简而言之 - 需要在搜索栏下方编写我自己的回收器视图并在那里加载 API 的工作结果。一年前,谷歌完全改变了 API,根本不支持旧版本。我在网上没有找到任何材料。所有东西 - 在 Java 或旧 API 上以上是关于我正在尝试通过 Google Places 在 Google Maps 上实现搜索。但是谷歌搜索出现了的主要内容,如果未能解决你的问题,请参考以下文章
尝试将 Google Places API 与 JQuery 的 getJSON 函数一起使用
Google Places web api 不与 superagent 合作
Google Places AutoComplete 小部件正在为每个请求生成一个新的会话密钥