IOS开发之百度地图API环境搭建

IOS开发 之百度地图API环境搭建 2013-05-22 09:24:57     我来说两句       作者:Developer_Man收藏  我要投稿 1 前言 由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程,菜鸟专用,大神勿喷! 本文旨在帮助新手快速搭建ios版百度地图,官网有 阅读详情

来源:http://blog.youkuaiyun.com/developer_zhang/article/details/8950328

1 前言

由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程,菜鸟专用,大神勿喷!

本文旨在帮助新手快速搭建ios版百度地图,官网有相关教程,可是太旧了,现在的xcode都更新到了4.6,他的教程应该是在4.3之前吧。估计新手在搭建的时候一定会遇到错误,按照我的教程一步一步,保证你花最少的时间,快速进行地图开发。

机器环境:mac os x 10.8.2
开发环境:xcode4.6
真机环境:iPod Touch4G 版本:6.1.2

地图版本:BaiduMapApi_Lib_iOS_1.2.2 下载地址:http://developer.baidu.com/map/sdk-ios.htm

【注】:使用百度地图的SDK需要申请key,应用名称可随意写,前提是有百度账号,详情官网查看。

2 详述

2.1 官网下载最新的SDK开发包_iOS静态库文件 http://developer.baidu.com/map/sdkiosdev-download.htm
解压后如下图所示:


2.2 打开xcode,新建一个demo工程(或是在你现有的工程下),创建好后把下载的的inc,libs,mapapi.bundle三个文件夹导入到工程内,注意需要copy+destination,看我如下截图:


一定要勾选copy和create group 同时要添加到target。

2.3 几乎所有的第三方地图sdk都是依赖于apple自有的几个framework,所以这一步需要我们导入:CoreLocation.framework和QuartzCore.framework。导入方法如下:


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
此时如果.h导入BMapKit.h头文件,实例化BMKMapManager或是BMapView,一定会有如下的错误:


貌似提示:libbaidumapapi.a找不到,那么是路径的问题么?这就是大家常遇到的BMKMapManager错误。其实原理是系统无法链接到我们的地图静态库,解决办法如下文:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.4 上边是个小尝试和插曲,我们继续下一步,选中工程,target,切换到Build Setting标签,定位到other link flag,
输入:-all_load


2.5 现在需要设置一下链接库的环境变量,好让项目能顺利找到目录下的.a文件,选中工程,target,切换到build setting标签,定位到Library search Path ,如下图所示:


删除已有的三个,添加一个足矣(模拟器+真机):$(SRCROOT)/libs/Release$(EFFECTIVE_PLATFORM_NAME)
简单解释一下:
$(SRCROOT)宏代表您的工程文件目录,$(EFFECTIVE_PLATFORM_NAME)宏代表当前配置是OS还是simulator,这个涉及环境变量的相关知识,我也不太懂,全是自己尝试出来的,大家直接copy我这行就行了。如下:


2.6 这个时候,静态库文件已经设置完毕,剩下的就只有代码工作了,由于需要key的验证,所以我们先需要使用BMKMapManager类,配置申请到的key,以得到授权。选中AppDelegate.h

[plain]  view plain copy
  1. #import "BMapKit.h" //导入BMapKit.h  
  2.   
  3. @interface AppDelegate : UIResponder <UIApplicationDelegate>{  
  4. BMKMapManager* _mapManager; //实例化  
  5. }  
选中AppDelegate.m,修改成.mm,(注:静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm))
【注意:如果没有mm,运行会大量报错的】
在AppDelegate.mm中的didFinishLaunchingWithOptions,加入如下代码:
[plain]  view plain copy
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2. {  
  3.     // 要使用百度地图,请先启动BaiduMapManager  
  4.     _mapManager = [[BMKMapManager alloc]init];  
  5.     // 如果要关注网络及授权验证事件,请设定generalDelegate参数  
  6.     BOOL ret = [_mapManager start:@"3830003D1DAFE904D7226E48F2F488262D5B23D2" generalDelegate:nil];  
  7.     if (!ret) {  
  8.         NSLog(@"manager start failed!");  
  9.     }  
  10.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  11.     // Override point for customization after application launch.  
  12.     self.viewController = [[[ZYViewController alloc] initWithNibName:@"ZYViewController" bundle:nil] autorelease];  
  13.     self.window.rootViewController = self.viewController;  
  14.     [self.window makeKeyAndVisible];  
  15.     return YES;  
  16. }  

2.7 在需要显示地图的viewcontroller.m中加入如下代码:

[plain]  view plain copy
  1. #import "ViewController.h"  
  2. #import "BMKMapView.h"  
  3.   
  4. @interface ViewController ()  
  5.   
  6. @end  
  7.   
  8. @implementation ViewController  
  9.   
  10. - (void)viewDidLoad  
  11. {  
  12. [super viewDidLoad];  
  13. BMKMapView* mapView = [[BMKMapView alloc]initWithFrame:CGRectMake(0, 0, 320, 460)];  
  14. self.view = mapView;  
  15. }  

导入BMKMapView.h后,实例化BMKMapView类。

2.8 在AppDelegate中授权过后,可以随意在任意的Viewcontroller中使用Mapview了。
(当然,BMKMapManager授权也可以写到任意的ViewController中,但是这样的话,只能在这个ViewController中使用MapView,换其它类使用地图的话,还需再来授权,否则地图view会是黑屏):

真机截图:


3 结语

以上是所有内容,希望对大家有所帮助。

整个过程,就中间设置环境变量比较麻烦,但以后不管是模拟器还是真机调试,都不用再做任何设置了,不好嘛?

下载地址:

百度地图API打包:http://download.youkuaiyun.com/detail/u010013695/5414913

IOS之百度地图API环境搭建 1 前言 由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程,菜鸟专用,大神勿喷! 本文旨在帮助新手快速搭建ios版百度地图,官网有相关教程,可是太旧了,现在的xcode都更新到了4.6,他的教程应该是在4.3之前吧。估计新手在搭建的时候一定会遇到错误 阅读详情

相关推荐

IOS 使用百度地图api 获取gps定位数据

列出关键几点: 1. 百度上注册开发者账号,申请app AK,下载sdk    2. 加入sdk文件到代码中   3. appDelegate 中注册:       1)首先 #import "BMapKit.h"       2)didFinishLaunchingWithOptions方法中加入下面代码     // 要使用百度地图,请先启动BaiduMapManager

luckyYang的专栏 1万+

IOS开发(95)之百度地图API环境搭建

1 前言 由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程,菜鸟专用,大神勿喷! 本文旨在帮助新手快速搭建ios版百度地图,官网有相关教程,可是太旧了,现在的xcode都更新到了4.6,他的教程应该是在4.3之前吧。估计新手在搭建的时候一定会遇到错误,按

Developer_Zhang的专栏 5894

突破百度地图Web API的配额限制,实现接口调用自由!

本文系统分析了百度地图开放平台的Web API调用方式,通过JS逆向的方式实现了关键参数的构建,从而突破百度地图Web API的配额限制,实现接口调用自由。

打酱油的葫芦娃 2961

百度地图API的使用

带你做出百度地图/教你如何调用API了解地图的使用场景,百度地图API介绍

stc_ljc的博客 15万+

iOS端大众点评网地图应用开发实战

MapKit框架是iOS平台下用于集成地图服务的一套API。开发者可以通过MapKit来创建功能丰富、视觉效果优良的地图应用,它提供了一系列用于显示、操作和添加内容到地图上的API接口。框架中的MKMapView控件能够展示地图视图,而MKAnnotation接口允许开发者在地图上添加自定义的标记点(如用户位置、兴趣点等)。MapKit还内置了地图上覆盖物(如标注、多边形等)的绘制功能,以及路径规划和方向服务。

weixin_29069575的博客 1205

codevs 1620 轮船问题 DP 解题报告

某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市。

Hawo11的博客 815

百度地图api 详细说明与配置 《一》

详细可以参考百度地图api http://dev.baidu.com/wiki/map 搭建一个简单的百度地图   什么是百度地图API? 百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富、交互性强的地图应用。百度地图API包含了构建地图基本功能的各种接口,提供了诸如本地搜索、路线规划等数据服务。 面向的读者 API是提供给那些具有

liuhanfeng123的专栏 1万+

RAD Studio 12安装全攻略:从下载到破解InterBase的完整流程(附KeyPatch使用技巧)

本文提供RAD Studio 12的完整安装指南,包括系统要求、安装步骤及InterBase数据库的高效配置方法。详细介绍了如何使用KeyPatch工具进行许可证处理,并分享了IDE优化和开发技巧,帮助开发者快速上手这一强大的跨平台开发工具。

q6r7s8t9的博客 946

关于百度地图加载的一些最初的配置

刚开始加载百度地图的时候出现很多的错误, 1. 导入头文件 1、解压缩 Lib 文件,其中 inc 文件夹内的.h 文件即为需要导入头文件, 示,将 inc 文件夹拷入到您的工程根目录下。 2、在 Xcode(请使用 Xcode 4.X 以上平台)中导入百度地图 API 的头文件,右键 工程选择“Add Files to ...”, 3、选...

weixin_30685047的博客 175

Halcon手眼标定保姆级教程:从‘眼在手上’到‘眼到手’两种模式全解析(附代码)

本文详细解析Halcon在机器人视觉引导中的手眼标定技术,涵盖Eye-in-Hand和Eye-to-Hand两种模式,提供从硬件准备到实战代码的完整解决方案。通过精确的相机标定和坐标转换,帮助实现工业自动化中机械臂与视觉系统的高精度协同作业。

weixin_42544461的博客 207

医学成像学习笔记(一):核磁共振成像(MRI)k空间为何是图像频谱详解

前言   k空间是核磁共振成像图像重建的核心,可能很多人像笔者一样第一次学时会非常疑惑,为何k空间是图像的频域空间,观其填充过程,明明是空域信号的采样填充呀。网上很少有文章讨论这个问题,所以笔者在此写下自己的理解,供大家参考。 MRI位置编码   现在的MRI一次扫描的是一个断层或者多个断层,所谓断层就是一个有厚度的面,通过z方向梯度场来选择。我们扫描一个断层的目的是为了获得该断层各位置的质子情况,它们携带着组织的性质信息,反应出来的就是信号强度。如果整个断层都采用相同的磁场强度,而我们只能得到一个断

意疏的学习笔记 1万+

联邦学习模型投毒研究进展

在联邦学习中,多个设备(如移动设备、IoT设备等)本地训练模型,然后将更新的模型参数上传到服务器进行聚合。

2401_82375734的博客 1265

【百度地图API】如何利用PhoneGap制作地图APP

摘要:百度地图API是一套由javascript编写的地图程序接口,按说它应该运行在浏览器上。现在,只要利用PhoneGap,我们就能开发出移动平台上能使用的APP了! --------------------------------------------- 一、安装平台 PhoneGap支持5种平台,IOS,安卓,黑莓,WebOS,塞班。 我们下面以IOS为例,开发一个

binyao02123202的专栏 2070

【DEIM创新改进】全网独家创新、注意力改进篇 | AAAI 2026 | DEIM 引入轻量级群体注意力(LWGA)模块,可以显著提高其多尺度物体检测能力,特别是在小物体和复杂背景下的表现

本文提出了一种改进的DEIM网络模型,通过引入轻量级LWGA模块显著提升了多尺度物体检测性能。LWGA模块采用局部和全局注意力机制,有效提升了小物体和复杂背景下的识别能力,同时保持低计算成本。该模块通过分割输入特征图并应用多种注意力机制(GPA、RLA、SMA、SGA)进行特征提取和融合,优化了多尺度物体的特征表示。实验表明,改进后的DEIM模型在遥感图像处理等任务中表现出色,在12个数据集上实现了性能与计算效率的最佳平衡,为资源受限设备提供了高效的解决方案。

Ai缝合怪、助力小伙伴高效发论文 272

国科大学习资料--遥感原理集图像处理(尤红建)--2019年期末考试

国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 ================================================================== ================================================================== ==============

无名何许人的博客 1469

IOS搭建百度地图第三方库

IOS开发(95)之百度地图API环境搭建 1 前言 由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程,菜鸟专用,大神勿喷! 本文旨在帮助新手快速搭建ios版百度地图,官网有相关教程,可是太旧了,现在的xcode都更新到了4.6,他的教程应该是在4.

u010000186的专栏 492

华为OD 面试手撕代码真题【岛屿的周长】

0代表水,1代表陆地,岛由陆地组成且岛内不允许有湖,让你求岛的周长。

MISAYAONE的博客 8412

百度地图API环境搭建

:转自:http://blog.youkuaiyun.com/developer_zhang/article/details/8950328 这真的是一位大神啊,写的教程简单易懂,膜拜并学习 1 前言 由于工作需要,要开始捣腾百度地图了,今天上午初始牛刀,各种碰壁,无奈之下,中午睡了一觉,养精蓄锐,以备下午大战三百回合,所幸下午中午把百度地图Demo捣腾出来了,在此与大家分享,环境搭建教程,菜鸟专用,大...

weixin_30898109的博客 115

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HTML5开发框架PhoneGap实战视频教程

HTML5开发框架PhoneGap实战(jQuery Mobile开发、API解析、3个经典项目实战)适合人群:初级课时数量:40课时用到技术:HTML5、jQuery Mobile、PhoneGap涉及项目:我要地图、豆瓣音乐、小强快跑咨询qq:1840215592 一、课程适合的对象:Java开发想要转App开发的技术达人,移动应用开发人员,有HTML和JS基础的前端界面开发人员二、课程培养...

weixin_33858336的博客 79

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IOS开发百度地图API

IOS百度地图API开发自定义气泡,点击气泡自动生成路线,以及拖拽 IOS百度地图开发POISearch搜索附近停车场,附近加油站 IOS百度地图视角跳到用户当前位置 IOS百度地图开发实时路况 IOS开发百度地图自动导航 IOS开发百度地图在大头钉上加文字和图片,点击这个整体再弹出气泡 IOS开发百度地图实现经纬度导航,无需地名。  第一部分--牛刀小试 百度地图零基

code life 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

iOS中百度地图API的总结

文章原地址:http://lipengxuan.easymorse.com/?p=526 由于没有转发按钮,所以直接复制粘贴了。感觉很好,自己以后应该能用到。 iOS中百度地图API的总结 六月 19,2012 by lipengxuan | Filedunder iOS. 这篇文章记录了: 引入百度地图API 如何显示地图并定位 如何定位获取经纬度 如

iOS-董彬的专栏 5751
上一篇: 让app在ios6上具有ios7的扁平效果
下一篇: 国内外主要黑苹果论坛一览(修正版)
skyming
博客等级 码龄15年 249粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值