• IOS 集成百度地图


              申请key

     ● http://lbsyun.baidu.com/apiconsole/key

    下载SDK

    下载百度地图开发包:http://api.map.baidu.com/lbsapi/cloud/sdkiosdev- download.htm

     最新版本

     

    开发指南

    如何使用开发包可以参考开发指南
    http://developer.baidu.com/map/sdkiosdev-1.htm

     

    开发包结构

    解压开发包后,有3个文件夹

     

    集成开发包

    接下来新建第一个百度地图应用,步骤如下

     

    1. 合并真机和模拟器的.a库文件

    2. 添加依赖的.a.hframeworkbundle等资源

    3. 新建.mm文件

    4. 修改软件唯一标识

    5. 导入主头文件

    6. 开启地图引擎

    7. 地图展示

     

     

    1.合并真机和模拟器的.a库文件

    .百度地图并未开源,只提供了静态库文件libbaidumapapi.a,有真机和模拟器版,分别 放在下面两个文件夹中:

    。BaiduMap_iOSSDK_v2.1.0_Lib/libs/Release-iphoneos

    。BaiduMap_iOSSDK_v2.1.0_Lib/libs/Release-iphonesimulator

    。为了避免每次在真机和模拟器编译时都重新添加.a文件,应该将两个.a文件合并为一 个,在终端上输入一下指令:

    。cd /这里是百度地图SDK根路径/BaiduMap_iOSSDK_v2.1.0_Lib/libs
    。lipo -create Release-iphoneos/libbaidumapapi.a Releaseiphonesimulator/libbaidumapapi.a -
    output libbaidumapapi.a

    然后就会在libs文件夹下产生一个libbaidumapapi.a文件

     

    2.添加依赖.a.hframeworkbundle等资源

    BaiduMap_iOSSDK_v2.1.0_Lib下面的inc文件夹、mapapi.bundle添加到项目

     

    添加合并后的libbaidumapapi.a库文件到项目中

     

    添加依赖的框架

    CoreLocation.framework
    QuartzCore.framework
    OpenGLES.framework
    SystemConfiguration.framework

    CoreGraphics.framework

    Security.framework(2.1.0开始需要)

     

    3.新建.mm文件

    静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件 (您可以将任意一个.m后缀的文件改名为.mm)
     
    或者在工程属性中指定编译方式

     

    如果运行报莫名其妙的错误,需要添加链接参数

     

    4.修改软件唯一标识

    修改软件唯一标识为当初申请key时的安全码

     

    5.导入主头文件

    使用地图前需要导入SDK的主头文件
    #import "BMapKit.h"

    6.开启地图引擎

    _mapMgr = [[BMKMapManager alloc] init];
    int ret =[_mapMgr
    start:@"0F0dd93edfd75399dc65e299305b8490"
    generalDelegate:nil];
    

    if (ret) { MyLog(@"地图引擎开启成功!");

    } start后面传递的是申请的key

    7.地图展示

     添加展示地图的BMKMapView

    _mapView = [[BMKMapView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
    [self.view addSubview:_mapView];
    
    #import "HMViewController.h"
    #import "BMapKit.h"
    
    @interface HMViewController () <BMKGeneralDelegate, BMKPoiSearchDelegate>
    @property (nonatomic, strong) BMKMapManager *mgr;
    @property (nonatomic, strong) BMKPoiSearch *search;
    @end
    
    @implementation HMViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        
        // 地图引擎管理类
        self.mgr = [[BMKMapManager alloc] init];
        [self.mgr start:@"rnPqE3HLgPQtCEaYpZ6BFeX8" generalDelegate:self];
        
        // 添加地图控件
        BMKMapView *mapView = [[BMKMapView alloc] init];
        mapView.frame = self.view.bounds;
        [self.view addSubview:mapView];
        
        
    //    self.search = [[BMKPoiSearch alloc] init];
    //    self.search.delegate = self;
    //    [self.search poiSearchInCity:<#(BMKCitySearchOption *)#>];
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    #pragma mark - BMKGeneralDelegate
    - (void)onGetNetworkState:(int)iError
    {
        if (0 == iError) {
            NSLog(@"联网成功");
        } else{
            NSLog(@"onGetNetworkState %d",iError);
        }
        
    }
    
    - (void)onGetPermissionState:(int)iError
    {
        if (0 == iError) {
            NSLog(@"授权成功");
        } else {
            NSLog(@"onGetPermissionState %d",iError);
        }
    }
    
    #pragma mark - BMKPoiSearchDelegate
    - (void)onGetPoiResult:(BMKPoiSearch *)searcher result:(BMKPoiResult *)poiResult errorCode:(BMKSearchErrorCode)errorCode
    {
    //    for (BMKPoiInfo *info in poiResult.poiInfoList) {
    //        
    //    }
    }
    @end
    View Code

     

     

  • 相关阅读:
    第二阶段冲刺—第三天
    团队测试计划
    第二阶段冲刺—第二天
    第二阶段冲刺—第一天
    评分表
    针对每个组建议的改进
    第二阶段团队绩效评分
    项目总结
    会议2.10
    会议2.9
  • 原文地址:https://www.cnblogs.com/liuwj/p/6895102.html
Copyright © 2020-2023  润新知