ios怎么设置百度地图云检索结果分页数据
展开全部
1
2
3
4
5
6
7
8
/**
*根据中心点、半径和检索词发起周边检索
*异步函数,返回结果在BMKPoiSearchDelegate的onGetPoiResult通知
*@param option 周边搜索的搜索参数类(BMKNearbySearchOption)
*@param index 页码,如果是第一次发起搜索,填0,根据返回的结果可以去获取第n页的结果,页码从0开始
*@return 成功返回YES,否则返回NO
*/
- (BOOL)poiSearchNearBy:(BMKNearbySearchOption*)option;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
_searcher = [[BMKPoiSearch alloc] init];
_searcher.delegate = self;
BMKNearbySearchOption *option = [[BMKNearbySearchOption alloc]init];
option.pageIndex = 0; // 起始页
option.pageCapacity = 30; // 每页条数
option.location = _locationCoordinate; // 中心点
option.keyword = self.keywordTF.text; // 关键词
option.sortType = BMK_POI_SORT_BY_DISTANCE; // 根据距离排序
option.radius = 3000; // 半径
BOOL flag = [_searcher poiSearchNearBy:option];
if(flag)
{
NSLog(@"周边检索发送成功");
}
else
{
NSLog(@"周边检索发送失败");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//实现PoiSearchDeleage处理回调结果
- (void)onGetPoiResult:(BMKPoiSearch*)searcher result:(BMKPoiResult*)poiResult errorCode:(BMKSearchErrorCode)errorCode
{
if (errorCode == BMK_SEARCH_NO_ERROR) {
//在此处理正常结果
_result = poiResult;
[_mapView removeAnnotations:[_mapView annotations]];
for (int i = 0; i < poiResult.poiInfoList.count; i++) {
BMKPoiInfo *info = [poiResult.poiInfoList objectAtIndex:i];
BMKPointAnnotation *annotation = [[BMKPointAnnotation alloc] init];
annotation.title = info.name;
annotation.subtitle = info.address;
annotation.coordinate = info.pt;
[_mapView addAnnotation:annotation];
}
self.resultNumLabel.text = FORMATSTRING(@"共找到“%@”相关%d个结果",self.keywordTF.text,poiResult.currPoiNum);
}
else {
self.resultNumLabel.text = FORMATSTRING(@"抱歉,未找到“%@”相关的结果",self.keywordTF.text);
}
}
2
3
4
5
6
7
8
/**
*根据中心点、半径和检索词发起周边检索
*异步函数,返回结果在BMKPoiSearchDelegate的onGetPoiResult通知
*@param option 周边搜索的搜索参数类(BMKNearbySearchOption)
*@param index 页码,如果是第一次发起搜索,填0,根据返回的结果可以去获取第n页的结果,页码从0开始
*@return 成功返回YES,否则返回NO
*/
- (BOOL)poiSearchNearBy:(BMKNearbySearchOption*)option;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
_searcher = [[BMKPoiSearch alloc] init];
_searcher.delegate = self;
BMKNearbySearchOption *option = [[BMKNearbySearchOption alloc]init];
option.pageIndex = 0; // 起始页
option.pageCapacity = 30; // 每页条数
option.location = _locationCoordinate; // 中心点
option.keyword = self.keywordTF.text; // 关键词
option.sortType = BMK_POI_SORT_BY_DISTANCE; // 根据距离排序
option.radius = 3000; // 半径
BOOL flag = [_searcher poiSearchNearBy:option];
if(flag)
{
NSLog(@"周边检索发送成功");
}
else
{
NSLog(@"周边检索发送失败");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//实现PoiSearchDeleage处理回调结果
- (void)onGetPoiResult:(BMKPoiSearch*)searcher result:(BMKPoiResult*)poiResult errorCode:(BMKSearchErrorCode)errorCode
{
if (errorCode == BMK_SEARCH_NO_ERROR) {
//在此处理正常结果
_result = poiResult;
[_mapView removeAnnotations:[_mapView annotations]];
for (int i = 0; i < poiResult.poiInfoList.count; i++) {
BMKPoiInfo *info = [poiResult.poiInfoList objectAtIndex:i];
BMKPointAnnotation *annotation = [[BMKPointAnnotation alloc] init];
annotation.title = info.name;
annotation.subtitle = info.address;
annotation.coordinate = info.pt;
[_mapView addAnnotation:annotation];
}
self.resultNumLabel.text = FORMATSTRING(@"共找到“%@”相关%d个结果",self.keywordTF.text,poiResult.currPoiNum);
}
else {
self.resultNumLabel.text = FORMATSTRING(@"抱歉,未找到“%@”相关的结果",self.keywordTF.text);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询