iOS百度地图poi检索(基于百度地图2.3.0SDK开发)

摘要  iOS百度地图poi检索包括:城市poi检索, 根据范围和检索词发起范围检索, 根据中心点、半径和检索词发起周边检索,以前百度地图是将这三个检索封装到了一个方法里,不知道这个什么时候改的,本人觉得这个新的很不方便,还是以前的那个检索比较方便 - (BOOL)poiSearchInCity:(NSString*)city withKey:(NSString*)key pageIndex:(int)index; 这个是以前的,很方便,现在将这些城市,范围全都单独封了起来,是何用意啊 后续我会把做到的百度地图遇到的问题详细记录,大家可以多交流一下!

正好做到百度地图的poi检索,拿来分享一下,基于百度地图2.3.0SDK开发,说实话,这个新版本poi真不好用

先来看头文件里面,定义poi对象,当然你也可以写到实现文件里面

?
1
2
3
4
5
6
7
#import <UIKit/UIKit.h>
#import "BMapKit.h"
@interface NearByPlaceViewController : ViewControllerBase <BMKPoiSearchDelegate>
{
     BMKPoiSearch *_poiSearch;     //poi搜索
}
@end

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#import "NearByPlaceViewController.h"
#import "UserLocationManager.h"
@interface NearByPlaceViewController ()
{
     NSString *_cityName;    // 检索城市名
     NSString *_keyWord;     // 检索关键字
     int  currentPage;             //  当前页
}
 
@end
 
@implementation NearByPlaceViewController
 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
     if  (self) {
         // Custom initialization
     }
     return  self;
}
- ( void )viewDidLoad
{
     [super viewDidLoad];
     self.view.backgroundColor = [UIColor whiteColor];
     [self initPoiSearch];
}
 
#pragma mark --初始化poi类
-( void )initPoiSearch
{
     _poiSearch = [[BMKPoiSearch alloc]init];
     _poiSearch.delegate = self;
     currentPage = 0;
     //附近云检索,其他检索方式见详细api
     BMKNearbySearchOption *nearBySearchOption = [[BMKNearbySearchOption alloc]init];
     nearBySearchOption.pageIndex = currentPage;  //第几页
     nearBySearchOption.pageCapacity = 10;   //最多几页
     nearBySearchOption.keyword = @ "设施" ;    //检索关键字
     nearBySearchOption.location = [UserLocationManager sharedInstance].clloction.coordinate;  // poi检索点
     nearBySearchOption.radius = 1000;  //检索范围 m
     BOOL  flag = [_poiSearch poiSearchNearBy:nearBySearchOption];
     if (flag)
     {
         NSLog(@ "城市内检索发送成功" );
     }
     else
     {
         NSLog(@ "城市内检索发送失败" );
     }
 
}
#pragma mark --BMKPoiSearchDelegate
/**
  *返回POI搜索结果
  *@param searcher 搜索对象
  *@param poiResult 搜索结果列表
  *@param errorCode 错误号,@see BMKSearchErrorCode
  */
- ( void )onGetPoiResult:(BMKPoiSearch*)searcher result:(BMKPoiResult*)poiResult errorCode:(BMKSearchErrorCode)errorCode
{
     if  (errorCode == BMK_SEARCH_NO_ERROR)
     {
         for  ( int  i = 0; i < poiResult.poiInfoList.count; i++)
         {
             BMKPoiInfo* poi = [poiResult.poiInfoList objectAtIndex:i];
             BMKPoiInfo就是检索出来的poi信息            
         }
     }
     
}
 
- ( void )didReceiveMemoryWarning
{
     [super didReceiveMemoryWarning];
     // Dispose of any resources that can be recreated.
}
 
 
@end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值