我只是想给Google Places一个字符串,并获取一个地方列表作为回报我不想使用自动填充片段
使用此功能初始化Places 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)
}
}