//构造请求参数,其中centerPt是自己的位置坐标
RadarNearbySearchOption option = newRadarNearbySearchOption().centerPt(pt).pageNum(pageIndex).radius(2000);
//发起查询请求
mManager.nearbyInfoRequest(option);
@Override
publicvoidonGetNearbyInfoList(RadarNearbyResult result,
RadarSearchError error) {
// TODO Auto-generated method stub
if (error == RadarSearchError.RADAR_NO_ERROR) {
Toast.makeText(RadarDemo.this, "查询周边成功", Toast.LENGTH_LONG)
.show();
//获取成功,处理数据
} else {
//获取失败
Toast.makeText(RadarDemo.this, "查询周边失败", Toast.LENGTH_LONG)
.show();
}
}
上面那个函数是百度地图的周边雷达的回调函数,每次发起周边位置查询请求的时候调用一次,不会重复调用。
首先说下这个问题,百度地图的周边雷达发情周边请求时,只会回调一次回调函数,这是百度技术员给的回答。
但是,我debug程序的时候,发现当我上一次查询周边之后,会调用一次回调函数,当我再次查询周边的时候,可能会回调两次回调函数。
造成这个问题的原因,是因为我完成周边查询之后,也调用了回调函数之后,没有清除周边位置信息,这样可能回调函数会把上次的查询结果再次回调一次,如果清除了位置信息就ok了,代码是这样的:
RadarSearchManager.getInstance().removeNearbyInfoListener(this);
RadarSearchManager.getInstance().clearUserInfo();
RadarSearchManager.getInstance().destroy();
ok,搞定,耗费了我一天的时间了~~~
版权声明:本文为博主原创文章,未经博主允许不得转载。