java如何在谷歌地图和使用kotlin的地点中实现建议地点或地址?
我想使用kotlin在我的项目中显示建议的位置或地址,但没有看到我的代码中有任何错误,但建议预测对我不起作用。这是我的代码的样子强>
我的变量
lateinit var mMap: GoogleMap
lateinit var placesClient: PlacesClient
lateinit var predictionList:List<AutocompletePrediction>
lateinit var mLastKnownLocation: Location
lateinit var locationCallback: LocationCallback
private var materialSearchBar: MaterialSearchBar?= null
private var DEFAULT_ZOOM = 18f
var mapView: View? = null
var mFusedLocationProviderClient: FusedLocationProviderClient? = null
这是建议地点或地址的代码顺便说一句,我在我的库中使用搜索栏材料
private fun searchBar() {
materialSearchBar?.setOnSearchActionListener(object :
MaterialSearchBar.OnSearchActionListener {
override fun onSearchStateChanged(enabled: Boolean) {
}
override fun onSearchConfirmed(text: CharSequence) {
startSearch(text.toString(), true, null, true)
}
override fun onButtonClicked(buttonCode: Int) {
}
}
})
materialSearchBar?.addTextChangeListener(object: TextWatcher {
val token = AutocompleteSessionToken.newInstance()
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
val predictionsRequest = FindAutocompletePredictionsRequest.builder()
.setTypeFilter(TypeFilter.ADDRESS)
.setSessionToken(token)
.setQuery(s.toString())
.build()
placesClient.findAutocompletePredictions(predictionsRequest).addOnCompleteListener(
object : OnCompleteListener<FindAutocompletePredictionsResponse>{
override fun onComplete(task: Task<FindAutocompletePredictionsResponse>) {
if(task.isSuccessful){
val predictionsResponse = task.result
if (predictionsRequest != null){
predictionList = predictionsResponse.autocompletePredictions
var suggestionsList: MutableList<String> = ArrayList()
for (element in predictionList){
suggestionsList.add(element.getFullText(null).toString())
}
materialSearchBar?.updateLastSuggestions(suggestionsList)
if (!materialSearchBar!!.isSuggestionsVisible){
materialSearchBar?.showSuggestionsList()
}
}
}
else {
Log.i("Prediction", "Prediction fetching task unsuccessful")
}
}
})
}
override fun afterTextChanged(s: Editable?) {
}
})
共 (0) 个答案