iOS百度地圖poi檢索(基於百度地圖2.3.0SDK開發)

正好作到百度地圖的poi檢索,拿來分享一下,基於百度地圖2.3.0SDK開發,說實話,這個新版本poi真很差用api

先來看頭文件裏面,定義poi對象,固然你也能夠寫到實現文件裏面code

#import <UIKit/UIKit.h>
#import "BMapKit.h"
@interface NearByPlaceViewController : ViewControllerBase <BMKPoiSearchDelegate>
{
    BMKPoiSearch *_poiSearch;    //poi搜索
}
@end

#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

你們有什麼不明白的能夠給我留言,必回,彼此交流一下,後續我會把作到的百度地圖遇到的問題詳細記錄,你們能夠多交流一下!對象

相關文章
相關標籤/搜索