iOS 百度地图更新sdk是剥离bitcode版本和坐标系偏移问题

更新的Xcode10移除了ibstdc++6.0.9库,项目中用到的百度地图sdk版本太低,不支持最新的libc++库,只能更新百度地图sdk到V4.2版本。以下为更新时遇到的一些问题。

1、百度只提供了支持bitcode版本的sdk,如果自己的项目不支持bitcode,需要自己在终端剥离不支持bitcode的版本。

在这里插入图片描述
在终端中cd到对应目录下,执行下列代码,如下

xcrun bitcode_strip -r BaiduMapAPI_Base -o BaiduMapAPI_Base

剥离后源文件体积会减小,需要其他模块的非bitcode版本可以依次进入响应目录进行剥离。

2、坐标系差别造成定位不准的问题

坐标系分三种:
1、世界标准地理坐标(WGS-84) GPS定位坐标系
2、中国国测局地理坐标(GCJ-02)<火星坐标>高德,腾讯等大部分地图使用的坐标系
3、其他坐标系 例如:百度地理坐标(BD-09)

第一种坐标系在国内是不允许直接使用的,国内app大部分都是使用第二种,第三种则是在第二种上再加密形成第三种坐标系,例如百度的BD-09,如果经纬度和坐标系不对应则会造成定位偏移。

PS:iOS系统自带的CLLocationManager定位坐标是第一种。现在苹果系统自带的地图使用的是高德地图,所以苹果地带的地图应用,用的是GCJ-02的坐标系统。但是代码中CLLocationManager获取到的是WGS84坐标系的坐标。要经过转换后才能赋值给百度sdk使用,这里使用
https://github.com/JackZhouCn/JZLocationConverter的算法来转换。

参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值