6.6 搜索POI兴趣点
/* --------------- 获取POI数据 (begin)-----------------*/
//1 定义查询条件
// 参数1 查询关键字
// 参数2 隶属范围, 如果填"" 表示不关心
// 参数3 查询关键字地点所属城市
PoiSearch.Query poiSearchQuery = new PoiSearch.Query("西单","", "北京");
//2 根据查询条件 创建 查询句柄
PoiSearch poiSearch = new PoiSearch(getApplicationContext(), poiSearchQuery);
//3 开始异步搜索
poiSearch.searchPOIAsyn();
//4 设置搜索回调
poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
@Override
public void onPoiSearched(PoiResult poiResult, int i) {
//针对搜索 PoiItem集合的回调
if (i != 1000) {
Log.e("Amap", "onPoiSearched error");
return;
}
//获取搜索poi集合
List<PoiItem> poiList = poiResult.getPois();
int listnum = poiList.size();
for (int index = 0;index < listnum; index++) {
PoiItem item = poiList.get(index);
Log.e("Amap", index +
" onPoiSearched distance:"
+item.getDistance()+
" [AdName]: "
+item.getAdName() +
" [AdCode]: "
+item.getAdCode()+
" [AdBusinessArea]: "
+item.getBusinessArea()+
" [Direction]: "
+item.getDirection() +
" [Enter]: "
+item.getEnter() +
" [Title]: "
+item.getTitle() +
" [PoiId]: "
+item.getPoiId());
}
}
@Override
public void onPoiItemSearched(PoiItem poiItem, int i) {
//针对搜索 出每个PoiItem的回调
if (i != 1000) {
Log.e("Amap", "onPoiItemSearched error");
return;
}
Log.e("Amap", " onPoiSearched distance:"
+poiItem.getDistance()+"AdName: "
+poiItem.getAdName() +"AdCode: "
+poiItem.getAdCode()+"AdBusinessArea: "
+poiItem.getBusinessArea()+"Direction: "
+poiItem.getDirection() + "Enter: "
+poiItem.getEnter() +"Title: "
+poiItem.getTitle() +"PoiId: "
+poiItem.getPoiId()+""
);
}
});
/* --------------- 获取POI数据 (end)-----------------*/