高德地图之周边信息查询

前言

使用贝壳和幸福里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();

POI分类编码或查看高德文档

经验分享 程序员 微信小程序 职场和发展