搜索服务
【Navinfo Navigation SDK for iOS】向用户提供总计包含千万级别的POI(Point of Interest,兴趣点)搜索服务,搜索服务同时在线和离线搜索功能。目前,提供的POI搜索方式包括:关键字搜索、周边搜索、类型搜索、沿路搜索等。
(完整代码详见 SDKDemo工程的 MBNewSearchListController.m)
// 模拟点
MBPoint pos = {11637852,3986459};
// 初始化MBPoiSearchSession类
self.session = [MBPoiSearchSession defaultInstance];
// 设置查询模式(默认仅在线)
self.session.preference = MBDataPreference_onlineOnly;
self.session.isNearBy = YES;
// 设置分页数
self.session.pageSize = 15;
[self.session setCity:city];
// 设置搜索关键字
[self.session setKeyword:@"酒店"];
// 设置中心点
self.session.center = pos;
// 开始执行查询操作
[self.session query];
[self.session setStartedBlock:^{
// 开始查询
}];
[self.session setEndedBlock:^{
// 查询成功,但是数据没加载
}];
[self.session setCanceledBlock:^{
// 取消查询
}];
[self.session setFailedBlock:^(MBPoiSearchError err, NSString* detail){
// 查询失败
}];
[self.session setLoadedBlock:^(NSArray *pois, NSArray *corrections, NSArray *cityDistributions, NSArray *citySuggestions, NSArray *districts) {
// 查询成功回调
for (MBPoiItem *obj in pois){
NSLog(@"%@,%@",obj.name,obj.address);
}
NSLog(@"session pois:%@",pois);
NSLog(@"correction:%@",corrections);
NSLog(@"cityDistributions:%@",cityDistributions);
NSLog(@"citySuggestions:%@",citySuggestions);
NSLog(@"districts:%@",districts);
}];
