前言
使用贝壳和幸福里APP时有看到关于楼盘附近周边配套设施,贝壳用的是百度API,幸福里是高德的。
然后查询高德文档实现了一下周边配套查询的逻辑。
使用
示例,需求使用各不一样,请自行变通
//150500|150700
PoiSearch.Query query = new PoiSearch.Query("交通设施服务", "150500|150700", cityCode);
//keyWord表示搜索字符串,
//第二个参数表示POI搜索类型,二者选填其一,选用POI搜索类型时建议填写类型代码,码表可以参考下方(而非文字)
//cityCode表示POI搜索区域,可以是城市编码也可以是城市名称,也可以传空字符串,空字符串代表全国在全国范围内进行搜索
query.setPageSize(3);// 设置每页最多返回多少条poiitem
query.setPageNum(1);//设置查询页码
PoiSearch poiSearch = new PoiSearch(this, query);
poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
@Override
public void onPoiSearched(PoiResult poiResult, int i) {
LogUtils.d("HAHA", "结果 poiResult:" + Arrays.toString(new ArrayList[]{poiResult.getPois()}) + ";i:" + i);
for (PoiItem poiItem : poiResult.getPois()) {
String builder = poiItem.getAdName() + ";" +
poiItem.getTitle() + ";" +
poiItem.getSnippet() + ";" +
poiItem.getCityName() + ";" +
poiItem.getDistance() + ";";
LogUtils.d("HAHA", "结果 poiItem:" + builder + ";i:" + i);
}
}
@Override
public void onPoiItemSearched(PoiItem poiItem, int i) {
LogUtils.d("HAHA", "结果 poiItem:" + poiItem.getAdName() + ";i:" + i);
}
});
//lat 22.598736
//lgt 114.315418
poiSearch.setBound(new PoiSearch.SearchBound(new LatLonPoint(22.598736,
114.315418), 1000));//设置周边搜索的中心点以及半径
poiSearch.searchPOIAsyn();