环境:Xcode 9.3.1     百度地图pods集成后,pod 'BaiduMapKit'
此文章是在百度地图用了很久之后才写的,所以集成的坑我这里就不写了

坑A:   以前只用pod 'BaiduMapKit'就完事儿了,但是最近百度地图更新了。。。用pods更新后你会发现百度地图将定位功能BMKLocationKit分离出来了,还有相关的一些属性名和函数都修改了

解决方法:没办法,得加入pod 'BMKLocationKit'  ,更新pods,然后根据xcode报红的位置改了。。。

坑B:百度地图用的是自己的坐标,也就是下面的BD-09坐标,要用就得转换。。。

简单介绍一下主流的坐标系:

  1.GCJ-02   俗称火星坐标系,由中国国家测绘局制订的地理信息系统的坐标系统。一般中国官方发布的地图上标注的经纬度都是这种坐标系的,与实际经纬度有偏差。

  2.WGS84:World Geodetic System 1984,俗称地球坐标系,是为GPS全球定位系统使用而建立的坐标系统。一般手持设备(比如手机)从GPS卫星获取的坐标系就是这个坐标系。google地图、soso地图、aliyun地图、mapabc地图和amap地图所用此坐标

  3.墨卡托(Mercator)坐标系,是由荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。

   4.BD-09 百度坐标系,百度在GCJ-02要求加密的基础上,又自己对坐标加密了一次。

坑C:连续定位回调函数的回调其实是火星坐标,非百度坐标,要进行地理反编码的话是需要转换成百度地图的

/**

@brief 连续定位回调函数。

@param manager 定位 BMKLocationManager 类。

@param location 定位结果,参考BMKLocation。

@param error 错误信息。

*/

- (void)BMKLocationManager:(BMKLocationManager * _Nonnull)manager didUpdateLocation:(BMKLocation * _Nullable)location orError:(NSError * _Nullable)error;

坑D:计算指定两点之间的距离方法有两个坑:①需要加入头文件#import <BaiduMapAPI_Utils/BMKUtilsComponent.h>

②这两个参数是     用BMKMetersBetweenMapPoints构造(将经纬度坐标转换为投影后的直角地理坐标)      而不能用BMKMapPointMake来构造,否则会出现计算出来的distance为0

/**

*计算指定两点之间的距离

*@param a 第一个坐标点

*@param b 第二个坐标点

*@return 两点之间的距离,单位:米

*/

UIKIT_EXTERN CLLocationDistance BMKMetersBetweenMapPoints(BMKMapPoint a, BMKMapPoint b);

百度地图开发 之 坑中坑相关推荐

  1. 通过腾讯地图、高德地图、百度地图开发接口获取坐标对应的周边相关信息

    通过腾讯地图.高德地图.百度地图开发接口获取坐标对应的周边相关信息 更新: 以前出于好意暴露了个人的KEY,现已被烂用.为不影响您的业务,请使用我的KEY的朋友去申请自己的KEY,我的KEY将在不久后 ...

  2. Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划

    2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划 开发前配置,显示基本地图,实时定位等查看之前代码,此博客紧接上一博客:https://blog.csdn.ne ...

  3. AndroidStudio百度地图开发之显示地图

    最近打算研究一些百度地图相关的东西,由于官方网站给的都是基于Eclipse开发的例子,所以在研究过程中遇到不少的坑,在这里记录一下,对 后来初用AndroidStudio 开发百度地图的兄弟们也算有个 ...

  4. EC20定位模块+百度地图API使用踩坑

    1 模块获得定位数据 模块装上gps天线,使用usb线连接电脑.安装模块usb驱动,成功后打开设备管理器,可以看见模块虚拟了3个串口.主要使用到AT和NMEA两个串口(本设备为COM10和COM9). ...

  5. Android studio 百度地图开发(3)地图导航

    Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 工程下载地址:http://blog.csdn.net/chentravelling ...

  6. 新手入门百度地图开发的(0,0)坐标问题

    对于大部分人来讲,由于百度地图资料众多,过度依赖搜索引擎等等原因.新接触百度地图开发工作其实并不容易.今天说说关于坐标(0,0)的问题. 首先仍然介绍坐标系,我们先不管采用的和wgs84还是gcj02 ...

  7. 用android studio测量距离,Android studio 百度地图开发(6)Marker绑定事件、计算两点距离...

    Android studio 百度地图开发(6)Marker绑定事件.计算两点距离 email:chentravelling@163.com 开发环境:win7 64位,Android Studio, ...

  8. 基于Android的百度地图开发

    参考资料: android studio获得SHA1的值,然后在百度地图移动版API官网申请key Android Studio怎么查看程序的安全码获取SHA1值? http://www.codese ...

  9. [android] 百度地图开发 (二).定位城市位置和城市POI搜索

    一. 百度地图城市定位和POI搜索知识       上一篇文章"百度地图开发(一)"中讲述了如何申请百度APIKey及解决显示空白网格的问题.该篇文章主要讲述如何定位城市位置.定位 ...

最新文章

  1. JAVAspringboot微服务b2b Spring MVC+mybatis+spring cloud+spring boot+spring security
  2. Docker镜像的目录存储讲解
  3. Nginx指南和配置详解
  4. React Native windows环境安装遇到的坑
  5. 微信团队分享:iOS版微信的高性能通用key-value组件技术实践
  6. uinttest 异步多线程生成测试报告
  7. linux中终端进入目录太多时造成终端路径显示太长的路径影响观看的解决方法
  8. markdown中编写数学公式的常用 latex 语法
  9. CC1101接口库在STM32上的移植
  10. python3字符串详解速查,新手流泪,老手顿悟
  11. (第二章)HTML基本标记
  12. 大数据必学Java基础(三十一):IDEA模板的使用
  13. 从0到1:CTFer成长之路docker环境搭建
  14. notepad中html自动补齐和标签,在Notepad ++中显示不匹配的html标签(Show unmatched html tags in Notepad++)...
  15. 复盘 20160629
  16. MySQL连接查询的成本
  17. 饿死也别进外包公司!说好不加班才入职,结果连续工作10小时,提出辞职后,外包公司竟以时间短为理由拒绝给工资!...
  18. uname -a命令
  19. 十大经典排序算法动画,看我就够了!
  20. 鼎捷软件即将亮相工博会 与制造业共赢智造未来

热门文章

  1. Windows 10 资源管理器使用深色主题
  2. java中单例和多例
  3. 网络安全兼职注意事项
  4. Mac电脑使用:Mac电脑如何用自带的Safari浏览器,一键翻译英文网页为中文网页
  5. 图片批量OCR识别--支持各种图片
  6. 艾德卡EDEKA EDI 需求分析
  7. Archlinux中pacman,yaourt的常用用法
  8. [2020.8.3]联想 A5(L18011) Magisk ROOT 纯净无推广 一键刷机 ZUI_3.9.068
  9. 系统资源的观察(摘自鸟哥的私房菜)
  10. 2021-06-07 QQ注册