申请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、.h、framework、bundle等资源

  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、.h、framework、bundle等资源

● 将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 ( == 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 集成百度地图的更多相关文章

  1. iOS 集成百度地图 位置偏移问题

    iOS 集成百度SDK 请参考 百度地图官方文档 ,这里不就多啰嗦了 本文介绍的是在百度地图上根据经纬度,自定义气泡时,气泡位置的偏移,在我们天朝这种事是很常见的,也见怪不怪了,在项目中使用的百度地图 ...

  2. iOS集成百度地图方法步骤

    前言:app中的导航功能越来越流行,现在我自己做的项目中也有此需求,做过了后记录下笔记.  由于源代码保密所以这里仅仅提供demo,下面是效果图 一:iOS地图SDK 1.打开 百度地图api链接 i ...

  3. iOS开发---集成百度地图,位置偏移问题

    iOS 集成百度SDK 请参考 百度地图官方文档 ,这里不就多啰嗦了 本文介绍的是在百度地图上根据经纬度,自定义气泡时,气泡位置的偏移,在我们天朝这种事是很常见的,也见怪不怪了,在项目中使用的百度地图 ...

  4. iOS开发---集成百度地图

    由于iOS MapKit框架很多情况并不能满足我们的需求,我们可以选择集成百度地图,那该如何操作呢? 申请Key 登录百度API管理中心申请Key http://lbsyun.baidu.com/ap ...

  5. iOS开发之集成百度地图踩过的那些坑(基于 Xcode7.0/iOS9.2)

    本篇分4步讲述如何在项目中集成百度地图: 第一步:创建项目 第二步:利用 cocoaPod 导入百度地图的 SDK(pod 'BaiduMapKit' #百度地图SDK) 第三步:在 pch 文件中导 ...

  6. 微信公众号开发《三》微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索

    本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与 ...

  7. 微信公众号开发《三》微信JS-SDK之地理位置的获取与在线导航,集成百度地图实现在线地图搜索

    本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与 ...

  8. AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能

    在AngularJS应用中集成百度地图实现定位功能 注:请点击此处进行充电! 前言 根据项目需求,需要实现手机定位功能,考虑到百度业务的强大能力,遂决定使用百度地图第三方服务. 添加第三方模块的步骤与 ...

  9. 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 ...

随机推荐

  1. js 替换中间四位手机号为 *

    replace(/(\d{})\d{}(\d{})/, '$1****$2')

  2. oracle12C--DG搭建配置

    一,主库前期操作 搭建的话和11g差不多,点点点. 两台服务器,一台主库,一台从库 01,配置主库hosts cat /etc/hosts 192.168.0.31 node12c01 192.168 ...

  3. 使用PagerSlidingTabStrip实现顶部导航栏

    使用PagerSlidingTabStrip配合ViewPager实现顶部导航栏. 效果图如下:          PagerSlidingTabStrip是github上的一个开源项目,项目地址如下 ...

  4. c#实现wifi连接器

    前言 一般正常情况下都会用windows自带的wifi连接,但是为了给用户更好的体验,或者有时候需要检测wifi状态,还是需要集成到项目中态. 原理 1.微软自带Native Wifi API,不过是 ...

  5. CentOS 7安装zabbix3.0

      CentOS 7安装zabbix3.0 一.环境介绍 # systemctl stop firewalld # setenforce 0 # yum -y install unzip vim ne ...

  6. mac安装monkey工具

    一.monkey测试简介: monkey工具是Android自动化测试工具的一种,主要对Android,APP可进行压力测试.(总结) Monkey是Android中的一个命令行工具,可以运行在模拟器 ...

  7. 最近准备把安卓和java的知识再回顾一遍,顺便会写博客上!千变万化还都是源于基础,打扎实基础

    最近准备把安卓和java的知识再回顾一遍,顺便会写博客上!千变万化还都是源于基础,打扎实基础,加油吧 距离去北京还有23天

  8. 常用sql语句整理[MySql]

    查看执行计划 explain update test100 set contractSn=99 where contractSn=45; insert ... on duplicate key使用 i ...

  9. Where Should an Architect Begin?--reference

    http://www.bitnative.com/2014/01/24/where-should-a-software-architect-begin/ Where Should an Archite ...

  10. OpenLayers 3 给features 添加手势

    map.on('pointermove',function(e){ var pixel = map.getEventPixel(e.originalEvent); var hit = map.hasF ...