如何给 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)
}
}
我只是想给 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)
}
}