IOS 集成百度地图
申请key
● http://lbsyun.baidu.com/apiconsole/key


下载SDK
● 最新版本

开发指南
● http://developer.baidu.com/map/sdkiosdev-1.htm

开发包结构

集成开发包
合并真机和模拟器的.a库文件
添加依赖的.a、.h、framework、bundle等资源
新建.mm文件
修改软件唯一标识
导入主头文件
开启地图引擎
地图展示
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、.h、framework、bundle等资源


● CoreLocation.framework
● QuartzCore.framework
● OpenGLES.framework
● SystemConfiguration.framework
● CoreGraphics.framework
● Security.framework(2.1.0开始需要)

3.新建.mm文件



4.修改软件唯一标识

5.导入主头文件
6.开启地图引擎
int ret =[_mapMgr
start:@"0F0dd93edfd75399dc65e299305b8490"
generalDelegate:nil];
if (ret) { MyLog(@"地图引擎开启成功!");
} start后面传递的是申请的key
7.地图展示
● 添加展示地图的BMKMapView
[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 ( == iError) {
NSLog(@"联网成功");
} else{
NSLog(@"onGetNetworkState %d",iError);
} } - (void)onGetPermissionState:(int)iError
{
if ( == 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
IOS 集成百度地图的更多相关文章
- iOS 集成百度地图 位置偏移问题
iOS 集成百度SDK 请参考 百度地图官方文档 ,这里不就多啰嗦了 本文介绍的是在百度地图上根据经纬度,自定义气泡时,气泡位置的偏移,在我们天朝这种事是很常见的,也见怪不怪了,在项目中使用的百度地图 ...
- iOS集成百度地图方法步骤
前言:app中的导航功能越来越流行,现在我自己做的项目中也有此需求,做过了后记录下笔记. 由于源代码保密所以这里仅仅提供demo,下面是效果图 一:iOS地图SDK 1.打开 百度地图api链接 i ...
- iOS开发---集成百度地图,位置偏移问题
iOS 集成百度SDK 请参考 百度地图官方文档 ,这里不就多啰嗦了 本文介绍的是在百度地图上根据经纬度,自定义气泡时,气泡位置的偏移,在我们天朝这种事是很常见的,也见怪不怪了,在项目中使用的百度地图 ...
- iOS开发---集成百度地图
由于iOS MapKit框架很多情况并不能满足我们的需求,我们可以选择集成百度地图,那该如何操作呢? 申请Key 登录百度API管理中心申请Key http://lbsyun.baidu.com/ap ...
- iOS开发之集成百度地图踩过的那些坑(基于 Xcode7.0/iOS9.2)
本篇分4步讲述如何在项目中集成百度地图: 第一步:创建项目 第二步:利用 cocoaPod 导入百度地图的 SDK(pod 'BaiduMapKit' #百度地图SDK) 第三步:在 pch 文件中导 ...
- 微信公众号开发《三》微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索
本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与 ...
- 微信公众号开发《三》微信JS-SDK之地理位置的获取与在线导航,集成百度地图实现在线地图搜索
本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与 ...
- AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能
在AngularJS应用中集成百度地图实现定位功能 注:请点击此处进行充电! 前言 根据项目需求,需要实现手机定位功能,考虑到百度业务的强大能力,遂决定使用百度地图第三方服务. 添加第三方模块的步骤与 ...
- Android Studio 项目中集成百度地图SDK报Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()I错误
Android Studio 项目中集成百度地图SDK报以下错误: java.lang.UnsatisfiedLinkError: Native method not found: com.baidu ...
随机推荐
- fopen\fread\fwrite\fseed函数的使用
使用 <stdio.h> 头文件中的 fopen() 函数即可打开文件,它的用法为: FILE *fopen(char *filename, char *mode); filename为文 ...
- if __name__ == '__main__' 详解
1.__name__是啥 __name__ 是Python的模块名字. 手册解释:The name of the module. 2.__name__的值 首先,一个变量一次只有一个值. 其次,__n ...
- nodejs的一些学习
要使用npm的时候,其实是可以直接下载node.js的.参考文档http://www.runoob.com/nodejs/nodejs-npm.html 安装成功之后.判断是否安装成功.是不能直接用n ...
- 如何透过上层div点击下层的元素解决方法
一.问题描述 笔者是在些一个登录界面时遇到这个问题的,需求是点击登录按钮出现登录悬浮框,初始化时登录悬浮框是display:none的,但笔者发现登录框那一块区域的input框无法响应点击时间,也无法 ...
- Linux getopt()函数 getopt_long()函数---转
http://hi.baidu.com/scoundrelgg/item/d4083f8412eea05d26ebd97f Linux getopt()函数 getopt_long()函数 get_o ...
- CTPN_论文阅读总结
论文全名:Detecting Text in Natural Image with Connectionist Text Proposal Network 1.摘要 (1)本文提出新型网络CTPN,用 ...
- Node.js 框架对比之 Express VS Koa
背景 上图是一个典型的采用 Node.js 开发 web 应用的前后端结构,下面介绍一下 Node 服务层在其中的作用以及使用 Node.js 的一些优劣. Node 服务层作用: 请求代理 传统做法 ...
- Table 边框合并(collapse)
border-collapse:collapse 用于表格属性, 表示表格的两边框合并为一条; <style type="text/css"> table { bord ...
- js使用占位符替换字符串
js使用占位符替换字符串是一个ES6中的模版字符串语法. 在``中使用 ${} var a = 5; var b = 10; console.log(`Fifteen is ${a + b} and ...
- double类型计算
下面两个例子体现两个运算规则 一.四舍五入 //四舍五入 double doublenum = Math.Round(12.5, MidpointRounding.AwayFromZero); //两 ...