Skip to content

POI检索

构造PoiSearch对象

PoiSearch poiSearch = new PoiSearch(this);

设置检索参数

有城市可以不传查询经纬度,或者有查询经纬度可以不传城市,或者两者都传。不可两者都不填。

PoiSearchOptions options = new PoiSearchOptions();
options.keyword = "肯德基";                        //查询关键字(必填)
options.placeType = PoiSearchOptions.DEFAULT;     //位置类型 默认设置PoiSearchOptions.DEFAULT
options.city = "北京";                             //查询城市(可选)
options.selectLat = 39.906402;                    //查询的纬度(可选)
options.selectLng = 116.433658;                   //查询的经度(可选)
options.userLocLat = 40.05014946831597;           //用户当前纬度(必填)
options.userLocLng = 116.285842827691;            //用户当前经度(必填)

设置结果监听

poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
    @Override
    public void onPoiSearched(PoiResult result) {
        Log.i(TAG,result.code +  "," + result.toString());
    }
});

启动检索

poiSearch.searchAsync(options);

结果解析

通过回调接口OnPoiSearchListener解析返回的结果。 说明: 1)可以在回调中解析PoiResult,获取Poi信息。 2)result.poiItemList可以获取到PoiItem列表,Poi详细信息可参考PoiItem类。 3)返回结果成功或者失败的响应码,0:代表成功,-1:代表失败。