高德SDK 使用PoiSearch模块检索周围POI数据,但是distance值是-1?
以下代码基于kotlin
/**
* key表示搜索字符串,
* 第二个参数表示POI搜索类型,二者选填其一,选用POI搜索类型时建议填写类型代码,码表可以参考下方(而非文字)
* city表示POI搜索区域,可以是城市编码也可以是城市名称,也可以传空字符串,空字符串代表全国在全国范围内进行搜索
*/
fun fetchPoi(key: String, city: String){
ServiceSettings.updatePrivacyShow(this,true,true);
ServiceSettings.updatePrivacyAgree(this,true);
var query = PoiSearch.Query(key, "", city)
query.pageNum = 1
query.pageSize = 100
query.isDistanceSort = true
var poiSearch = PoiSearch(this, query)
// 下面这两行是关键,必须设置中心点边界才能让setOnPoiSearchListener回调返回的poi列表里的distance有实际值
val lp = LatLonPoint(location.latitude, location.longitude)
poiSearch.bound = PoiSearch.SearchBound(lp, 10000, true)
poiSearch.setOnPoiSearchListener(this)
poiSearch.searchPOIAsyn()
}
下面这两行是关键,必须设置中心点边界才能让setOnPoiSearchListener回调返回的poi列表里的distance有实际值
val lp = LatLonPoint(location.latitude, location.longitude)
poiSearch.bound = PoiSearch.SearchBound(lp, 10000, true)
友情链接: 轻语免费api