android - 如何在 Kotlin 中解析 Mapbox 反向地理编码的响应
问题描述
我在我的 android Kotlin应用程序中使用 Mapbox,我执行反向地理编码并期望获得该地点的完整地址:
这是我的代码:
val geoCoding = MapboxGeocoding.builder()
.accessToken(accessToken)
.country("eg")
.query(Point.fromLngLat(long, lat))
.geocodingTypes(GeocodingCriteria.TYPE_PLACE)
.build()
println(geoCoding)
我从这条线上得到的回应println(geoCoding)
是:
Geooding{query=31.23944,30.05611, mode=mapbox.places, accessToken="My access token are shown here" , baseUrl=https://api.mapbox.com, country=eg, proximity=null, geocodingTypes=place, autocomplete=null, bbox=null, limit=null, languages=null, reverseMode=null, fuzzyMatch=null, clientAppName=null
因此,正如您所见,根本没有显示任何信息,尽管如果我在我的 chrome 浏览器中使用普通 api URL 执行查询,则会显示所有信息
解决方案
因为从代码中看不到它......你确定你在打电话吗
import retrofit2.Call
import retrofit2.Callback
geoCoding.enqueueCall(object : Callback<GeocodingResponse> {
override fun onFailure(call: Call<GeocodingResponse>, t: Throwable) {
Log.d("FAILURE", t.toString())
}
override fun onResponse(call: Call<GeocodingResponse>, response: retrofit2.Response<GeocodingResponse>) {
Log.d("SUCCESS", response.body().toString())
}
})
之后.build()
?
推荐阅读
- vb.net - 对于组合框,selectedIndex 返回 0,而 selectedtext 返回一个值
- python - 从字符串 PySpark 中获取年、月、日
- c# - C# JSON 如何以类名作为节点名序列化列表
- r - R - 根据 group_id 和条件语句创建新索引
- amazon-s3 - Loki 配置与 s3
- javascript - 谷歌折线图 - 从arraydatatable动态添加列/行
- javascript - 将jquery转换为javascript以避免jquery库冲突
- javascript - 如何在播放中更改视频分辨率
- c# - 不断收到错误并非所有代码路径都在我的猪拉丁语翻译器上返回值有关如何解决此问题的任何建议?
- mysql - 之间和大于日期应该在同一个查询中实现