使用百度地图api android版 怎样直接获得搜索内容列表

 我来答
双鱼戏剧牡丹亭
2017-02-19 · 超过234用户采纳过TA的回答
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:345万
展开全部
@Override
public void onGetPoiResult(MKPoiResult res, int type, int error) {
// TODO Auto-generated method stub
//搜索结果回调到这里
if (error == MKEvent.ERROR_RESULT_NOT_FOUND) {
Toast.makeText(FoodActivity.this, "抱歉,未找到结果",
Toast.LENGTH_LONG).show();
System.out.println("抱歉,未找到结果");
return;
} else if (error != 0 || res == null) {
Toast.makeText(FoodActivity.this, "搜索出错啦..",
Toast.LENGTH_LONG).show();
return;
}
PoiOverItem poiOverLay = new PoiOverItem(MainActivity.this,
bMapView, res.getAllPoi());
poiOverLay.setData(res.getAllPoi());
bMapView.getOverlays().add(poiOverLay);
bMapView.refresh();
// 定义一个list用于存放所搜索到的酒店
List<String> hotelName = new ArrayList<String>();
List<GeoPoint> JWpoints = new ArrayList<GeoPoint>();
for (MKPoiInfo info : res.getAllPoi()) {
System.out.println("搜索结果位置信息:" + info.address);
System.out.println("搜索结果城市信息:" + info.city);
System.out.println("搜索结果name:" + info.name);
System.out.println("酒店联系电话:" + info.phoneNum);
System.out.println("搜索结果经纬度:" + info.pt);
System.out.println("搜索结果ePoiType:" + info.ePoiType);
bMapView.getController().animateTo(info.pt);
// 将搜索到的酒店添加到list里面
hotelName.add(info.name);
//把所有的点添加到list中
JWpoints.add(info.pt);
// break;
}
}
不知道你用的是什么版本的百度地图,这是我之前做开发用到的,上面用的是一个MkSearch监听器,如果搜索到信息,监听器就会把结果回调到onGetPoiResult()这个方法里面,之后在这个方法里面操作数据。上面用list将所有的酒店名称以及经纬度存放进去,如果你想用一个lisview显示的话,就定义一个simpleAdapter,把这些数据放到adapter里面,之后在listview里面显示就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式