Xcode10+swift4.2 调用百度地图SDK的坑爹全记录
2019-03-02 本文已影响0人
文西同学
最近私下里在开发一个app,为着好玩?好吧!此App目前可能仅针对IOS平台。由于涉及到LBS,所以要引用百度地图SDK,至于坑爹嘛,多或少的问题,你完全按官方文档来不一定行的于是便开始了坑爹之行。。。
至于类似闲鱼或Mobile单车之类的搜索附近功能,我打算另外做一个文章说说,这个算法叫geoHash算法
1:先把百度地图IOS的SDK下载下来
坑:如果用到导航功能,请这样下载
![](https://img.haomeiwen.com/i6428650/3d2e19b728662d00.png)
下去载好后如下:
![](https://img.haomeiwen.com/i6428650/07c8ba3ec6e97a5a.png)
如果不会用到导航之类的,只用到地图展示和定们的,请不要下去载带有导航类的包
![](https://img.haomeiwen.com/i6428650/1b066ed130cd4536.png)
![](https://img.haomeiwen.com/i6428650/6bea9e61bebafd3d.png)
2:在Xcode项目右键引入这些文件,包括thirdlibs
![](https://img.haomeiwen.com/i6428650/6a3cf6e23a2f576d.png)
这里要注意一下,麻烦把这个打上
不打上包只是引用,不会复制到项目,别人从你的git上下载了代码就哭吧
![](https://img.haomeiwen.com/i6428650/82a68a44a8b00a05.png)
3:引入IOS系统库,这里你完全按官网的来是不行的,会编译出错
比如:Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_CMMotionManager", referenced from。。。。。
一眼看上去,你就知道是缺CoreMotion.framwork了,反正你见缺什么就引什么
看准我引的库了
![](https://img.haomeiwen.com/i6428650/24855defe3287e7c.png)
引完后再添加 mapapi.bundle和navigation.bundle,具体可以参考一下这http://lbsyun.baidu.com/index.php?title=iossdk/guide/navigation/allocation
![](https://img.haomeiwen.com/i6428650/f68e00b2142e9cfd.png)
4:建立桥接文件
名字最好为项目名+ _Bridging_Header_h.h
![](https://img.haomeiwen.com/i6428650/fb4baecd80139e3c.png)
设置桥接文件引用路径
![](https://img.haomeiwen.com/i6428650/15db656b01891dd9.png)
5:设置一下编译为Objective-C++
![](https://img.haomeiwen.com/i6428650/02231c2bcabd6683.png)
6:在AppDelegate添置key
![](https://img.haomeiwen.com/i6428650/123d6133abe0e2bb.png)
注意,一定要在最前面初始化mapManager!!!
7:添置代理并显示地图
![](https://img.haomeiwen.com/i6428650/84db0584590e8a0f.png)
如果你不添加BMKMapViewDelegate,地图是死活显示不出来的!!!
8:最后,OK!
![](https://img.haomeiwen.com/i6428650/d7c3c07550f65aee.png)
![](https://img.haomeiwen.com/i6428650/fa881e90a2040ed6.jpg)