百度地图集成的小Demo

地图集成当然是按照百度API官方步骤来,看细节

  • 获取秘钥,注意:安全码一定得是Bundle Identifier


    百度地图集成的小Demo_第1张图片
    秘钥获取.png
  • 集成SDK,使用CocoaPods集成

百度地图集成的小Demo_第2张图片
集成SDK.png

注意,这是我遇到的坑,导入BaiduMapAPI_Base不出来,自己添加完整,每一个包这个component

  • import
  • 要添加Bundle display name

然后按官方文档进行

#import "AppDelegate.h"
#import 

@interface AppDelegate ()

/** 地图管理者 */
@property (nonatomic, strong) BMKMapManager *mapManager;

@end

@implementation AppDelegate

- (BMKMapManager *)mapManager {
    if (_mapManager == nil) {
        _mapManager = [[BMKMapManager alloc] init];
        BOOL ret = [_mapManager start:@"qcNQtv1Uz5WTsr9i59up62q9BBDh6T2W"  generalDelegate:nil];
        if (!ret) {
            NSLog(@"manager start failed!");
        } else {
            NSLog(@"成功");
        }
    }
    return _mapManager;
}
  • 成功
百度地图集成的小Demo_第3张图片
百度地图.png
  • 检索功能
百度地图集成的小Demo_第4张图片
周边.png
  • 有个坑就是,下面代码应该放地图视图外,点击白色区域
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    //发起检索
    BMKNearbySearchOption *option = [[BMKNearbySearchOption alloc]init];
    option.pageIndex = 0;
    option.pageCapacity = 10;
    option.location = (CLLocationCoordinate2D){39.915, 116.404};
    option.keyword = @"小吃";
    BOOL flag = [self.search poiSearchNearBy:option];
    if(flag)
    {
        NSLog(@"周边检索发送成功");
    }
    else
    {
        NSLog(@"周边检索发送失败");
    }
}

搜索结果

#pragma mark - BMKPoiSearchDelegate
- (void)onGetPoiResult:(BMKPoiSearch*)searcher result:(BMKPoiResult*)poiResultList errorCode:(BMKSearchErrorCode)error
{
    if (error == BMK_SEARCH_NO_ERROR) {
        //在此处理正常结果
        [poiResultList.poiInfoList enumerateObjectsUsingBlock:^(BMKPoiInfo *  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            NSLog(@"%@---%@", obj.name, obj.address);
        }];
    }
    else if (error == BMK_SEARCH_AMBIGUOUS_KEYWORD){
        //当在设置城市未找到结果,但在其他城市找到结果时,回调建议检索城市列表
        // result.cityList;
        NSLog(@"起始点有歧义");
    } else {
        NSLog(@"抱歉,未找到结果");
    }
}

  • 导航集成
百度地图集成的小Demo_第5张图片
导航集成.png

你可能感兴趣的:(百度地图集成的小Demo)