百度地图SDK提供三种类型的POI检索:周边检索、区域检索和城市内检索。官网给出了以城市的例子,另外的两个可以查阅API实现,
(
其他的配置一步步参照百度官方提供的配置,不再多说
环境配置地址http://developer.baidu.com/map/index.php?title=androidsdk/guide/buildproject
)
以搜索城市的POI例子:
第一步,创建POI检索实例
写在MainActivity(我自己的Activity)开始的,另外要 继承 FragmentActivity ,实现OnGetPoiSearchResultListener接口进行监听
//开始的几行
private PoiSearch mPoiSearch = null;
private BaiduMap mBaiduMap = null;
private int load_Index = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mPoiSearch = PoiSearch.newInstance();
mBaiduMap = ((SupportMapFragment) (getSupportFragmentManager().findFragmentById(R.id.map))).getBaiduMap();
}
第二步,创建POI检索监听者;
OnGetPoiSearchResultListener poiListener = new OnGetPoiSearchResultListener(){
public void onGetPoiResult(PoiResult result){
//获取POI检索结果
}
public void onGetPoiDetailResult(PoiDetailResult result){
//获取Place详情页检索结果
}
};
第三步,设置POI检索监听者;
mPoiSearch.setOnGetPoiSearchResultListener(poiListener);
第四步,发起检索请求;
mPoiSearch.searchInCity((new PoiCitySearchOption())
.city(“北京”)
.keyword(“美食”)
.pageNum(10));
第五步,释放POI检索实例;
以上向大家介绍了POI检索功能的使用方法,百度地图SDK,还向广大开发者开放了POI详情信息的检索,为开发者提供更多的LBS数据支持。
POI详情检索的实现方式如下:
第一步,发起检索:
//uid是POI检索中获取的POI ID信息
mPoiSearch.searchPoiDetail((new PoiDetailSearchOption()).poiUid(uid));
第二步,设置结果监听:
public void onGetPoiDetailResult(PoiDetailResult result) {
if (result.error != SearchResult.ERRORNO.NO_ERROR) {
//详情检索失败
// result.error请参考SearchResult.ERRORNO
}
else {
//检索成功
}
}
结果如图,当然很丑,主要是为了做别的功能,只是用到百度的POI来测试下。