如何给 google 地方 api 一个地方作为字符串并让它 return 一个地方数组?

How to give google places api a place as string and have it return an array of places?

我只是想给 google places 一个字符串并得到 return 中的地点列表 我不想使用自动完成片段

使用此函数

初始化位置 API 后
  private fun initPlaces() {
    Places.initialize(context!!, getString(R.string.placesApiKey))
    placesClient = Places.createClient(context!!)
    autocompleteSessionToken = AutocompleteSessionToken.newInstance()

}     

从 edittext 或其他任何地方获取查询字符串后,您只需将其发送到 getSuggestion 函数即可

private fun getSuggestions(query: String) {
    var findAutocompletePredictionsRequest=FindAutocompletePredictionsRequest
            .builder()
            .setSessionToken(autocompleteSessionToken)
            .setTypeFilter(TypeFilter.ADDRESS)
            .setQuery(query)
            .build()         placesClient!!.findAutocompletePredictions(findAutocompletePredictionsRequest).addOnCompleteListener(OnCompleteListener {
          if(it.isSuccessful){
              Log.d(TAG, "getSuggestions: -----------------------SUCCESS")
              var predictionsResponse=it.result
              predictionList=predictionsResponse!!.autocompletePredictions
              createList()


          }
          }
      })

}

之后您可以使用返回的列表来填充 recyclerview 或任何您想要的内容

private fun createList() {
    var suggestionsStringArray =Array<String>(predictionList!!.size){""}
    if(predictionList!!.isNotEmpty()){
        for (i in predictionList!!.indices){
            suggestionsStringArray[i] = predictionList!![i].getFullText(null).toString()
        }
        populateAdapter(suggestionsStringArray)
    }
}