Ios 百度地图SDK简易使用说明:http://developer.baidu.com/map/index.php?title=iossdk

先道歉:对于原来上传的Demo我很抱歉,什么都没有,也没有文档,这次我会逐步增加SDK中相关功能使用(基于百度Simple),如果我写不好请大家多多包含;

第一步:合成静态文件

lipo -create Release-iphoneos/libbaidumapapi.a Release-iphonesimulator/libbaidumapapi.a -output libbaidumapapi.a

注:目录可能不一致

第二步:环境配置

1、在Xcode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-ObjC

2、引入frameWork引入CoreLocation.framework和QuartzCore.framework、OpenGLES.framework、SystemConfiguration.framework、CoreGraphics.framework、Security.framework。

3、修改一个.m 文件后缀为.mm;此时测试一下看工程是否正常

4、增加pch(可有可无)

5、自iOS SDK v2.5.0起,为了对iOS8的定位能力做兼容,做了相应的修改,开发者在使用过程中注意事项如下: 需要在info.plist里添加(以下二选一,两个都添加默认使用NSLocationWhenInUseUsageDescription):NSLocationWhenInUseUsageDescription ,允许在前台使用时获取GPS的描述NSLocationAlwaysUsageDescription ,允许永久使用GPS的描述。

6、在使用Xcode6进行SDK开发过程中,需要在info.plist中添加:Bundle display name ,且其值不能为空(Xcode6新建的项目没有此配置,若没有会造成manager start failed);

7、BMKMapView新增viewWillAppear、viewWillDisappear方法来控制BMKMapView的生命周期,并且在一个时刻只能有一个BMKMapView接受回调消息,因此在使用BMKMapView

viewController中需要在viewWillAppear、viewWillDisappear方法中调用BMKMapView的对应的方法,并处理delegate,代码如下:

-(void)viewWillAppear:(BOOL)animated

{

[_mapViewviewWillAppear];

_mapView.delegate = self;// 此处记得不用的时候需要置nil,否则影响内存的释放

//启动LocationService

[_locationServicestartUserLocationService];

}

-(void)viewWillDisappear:(BOOL)animated

{

[_mapViewviewWillDisappear];

_mapView.delegate = nil; // 不用时,置nil

}

第三步:基本使用加载

1、引用#import "BMapKit.h" ,在AppDelegate.h中声明

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) BMKMapManager *mapManager;

@end

2、在AppDelegate.m中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

_mapManager = [[BMKMapManageralloc] init];

//    BaiduMapKey  你申请的百度地图AK(宏定义)

if (![_mapManagerstart:BaiduMapKeygeneralDelegate:self])

{

KHLog(@"启动失败");//KHLog 相当于NSLog

}

returnYES;

}

-(void)onGetNetworkState:(int)iError

{

)

{

KHLog(@"网络状态正常");

}

else

{

KHLog(@"网络错误:%d",iError);

}

}

-(void)onGetPermissionState:(int)iError

{

)

{

KHLog(@"授权正常");

}

else

{

KHLog(@"授权错误:%d",iError);

}

}

- (void)applicationWillResignActive:(UIApplication *)application {

[BMKMapView willBackGround];//当应用即将后台时调用,停止一切调用opengl相关的操作

}

- (void)applicationDidBecomeActive:(UIApplication *)application {

[BMKMapView didForeGround];//当应用恢复前台状态时调用,回复地图的渲染和opengl相关的操作

}

3、在要加载mapview的controller中增加代理 BMKMapViewDelegate

声明 BMKMapView *_mapView;

注:#define __SCREEN_SIZE [[UIScreen mainScreen] bounds].size

- (void)viewDidLoad {

[superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

, , __SCREEN_SIZE.width, __SCREEN_SIZE.height)];

[self.view addSubview:_mapView];

[_mapViewsetMapType:BMKMapTypeStandard];//地图样式

//    [_mapView setTrafficEnabled:YES];//打开实时路况图层

//    [_mapView setBaiduHeatMapEnabled:YES];//打开百度城市热力图图层(百度自有数据)

}

-(void)viewWillAppear:(BOOL)animated

{

[_mapViewviewWillAppear];

_mapView.delegate = self;// 此处记得不用的时候需要置nil,否则影响内存的释放

}

-(void)viewWillDisappear:(BOOL)animated

{

[_mapViewviewWillDisappear];

_mapView.delegate = nil; // 不用时,置nil

}

- (void)mapViewDidFinishLoading:(BMKMapView *)mapView

{

KHLog(@"地图加载完毕加载完毕”);//这里的代理方法我就不一一展示了,具体使用情况请自己调整

}

IOS百度地图之--->第一篇《环境配置与基本使用》的更多相关文章

  1. Android百度地图开发-第一篇:申请、搭建百度地图

    一.前言 这是第一篇关于Android使用百度地图的学习记录,主要记录: 1.在百度地图开发者平台上申请API Key. 2.在自己的应用中加入百度地图的Android版SDK. 3.在自己的应用中显 ...

  2. IOS百度地图之--->第二篇《大头针__简单使用及自定义》

    呵呵!大家不要只看帖不回帖么,要不然我都没有积极性了. 第一步:创建一个用来呈现mapview的viewcontroller,不废话直接贴代码        BasicMapViewControlle ...

  3. 百度地图总结第二篇--POI检索功能

    简单介绍: 眼下百度地图SDK所集成的检索服务包含:POI检索.公交信息查询.线路规划.地理编码.行政区边界数据检索.在线建议查询.短串分享(包含POI搜索结果分享.驾车/公交/骑行/步行路线规划分享 ...

  4. iOS百度地图简单使用详解

    iOS百度地图简单使用详解 百度地图 iOS SDK是一套基于iOS 5.0及以上版本设备的应用程序接口,不仅提供展示地图的基本接口,还提供POI检索.路径规划.地图标注.离线地图.定位.周边雷达等丰 ...

  5. iOS百度地图SDK集成详细步骤

    1.iOS百度地图下载地址 http://developer.baidu.com/map/index.php?title=iossdk/sdkiosdev-download 根据需要选择不同的版本  ...

  6. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  7. ElasticSearch第一步-环境配置

    ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticSearch第四步-查询详解 Elasti ...

  8. 使用CocoaPods配置iOS百度地图sdk问题记录20191024

    1.在Podfile中加入添加库名 pod 'BaiduMapKit' #百度地图SDK 2.安装百度地图 pod install 出现问题: [!] Error installing BaiduMa ...

  9. iOS百度地图简单使用

    本文介绍三种接口: 1.基础地图2.POI检索3.定位 首先是配置环境,有两种方法,方法在官方教程里都有,不再多说 1.使用CocoaPods自动配置[这个方法特别好,因为当你使用CocoaPods配 ...

随机推荐

  1. WinForm 文件操作

    文件及文件夹操作 C/S:WinForm可以操作客户端文件 Client ServerB/S:浏览器服务 Brower Server 命名空间:using system .IO; 1. File类:文 ...

  2. HDU 3783 ZOJ

    ZOJ Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. 深入理解DOM事件类型系列第六篇——加载事件

    前面的话 提到加载事件,可能想到了window.onload,但实际上,加载事件是一大类事件,本文将详细介绍加载事件 load load事件是最常用的一个事件,当页面完全加载后(包括所有图像.java ...

  4. vs调试时底部输出调试信息“无法查找或打开 PDB 文件”解决办法

    用VS调试程序时,有时会在VS底部的"输出"框中提示"无法查找或打开 PDB 文件".这该怎么解决呢? 下面,我们以VS2013为例,来教大家解决办法. 工具/ ...

  5. python3 - 通过BeautifulSoup 4抓取百度百科人物相关链接

    导入需要的模块 需要安装BeautifulSoup from urllib.request import urlopen, HTTPError, URLError from bs4 import Be ...

  6. Java虚拟机中Java内存区域

      Java虚拟机所管理的内存将会包括以下几个运行时数据区域. 程序计数器 可以看作是当前线程所执行的字节码的行号指示器. 每一个线程都需要有一个独立的程序计数器. 如果线程正在执行的是一个Java方 ...

  7. Smarty3配置及入门语法

    一.Smarty3配置 下载Smarty文件 在Smarty的官方网站下载Smarty文件,解压下载到的Smarty文件,Smarty的库文件就在libs文件夹中. 我使用的PHP调试环境的程序集成包 ...

  8. jQuery_第二章_定时器

  9. Appuim源码剖析(Bootstrap)

    Appuim源码剖析(Bootstrap) SkySeraph Jan. 26th 2017 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www. ...

  10. 利用jink的驱动软件j-flash 合并两个hex的方法,bootloader+app

    由于前几天要给工厂app和bootloader的hex的文件,网上很多都是bin的合并方法,bin的方法不再赘述,相信大家都能找到,现在将hex合并的方法写下来: 第一步:先打开第一个hex文件, 第 ...