iOS开发---集成百度地图,位置偏移问题
2015-10-09 15:06
453 查看
iOS 集成百度SDK 请参考 百度地图官方文档 ,这里不就多啰嗦了
本文介绍的是在百度地图上根据经纬度,自定义气泡时,气泡位置的偏移,在我们天朝这种事是很常见的,也见怪不怪了,在项目中使用的百度地图的SDK,位置各种不对,百度地图和其他地图,如高德,他们都有自己的偏移算法,网上也有很多譬如 火星坐标转换之类的,都不能达到准备显示的效果。
其实百度SDK 有他自己偏移算法,使用百度偏移转换就可以了
本文介绍的是在百度地图上根据经纬度,自定义气泡时,气泡位置的偏移,在我们天朝这种事是很常见的,也见怪不怪了,在项目中使用的百度地图的SDK,位置各种不对,百度地图和其他地图,如高德,他们都有自己的偏移算法,网上也有很多譬如 火星坐标转换之类的,都不能达到准备显示的效果。
其实百度SDK 有他自己偏移算法,使用百度偏移转换就可以了
BMKPointAnnotation *annotation = [[BMKPointAnnotation alloc]init]; CLLocationCoordinate2D coor; // 传人的需要显示的经纬度 coor.longitude = [longitude floatValue]; coor.latitude = [latitudes floatValue]; /** *坐标转换函数,从原始GPS坐标,mapbar坐标,google坐标,51地图坐标,mapabc坐标转换为百度坐标(51地图坐标需要显出10000) *@param coordinate 待转换的坐标 *@param type 待转换的坐标系类型,GPS为原始GPS坐标,COMMON为google坐标,51地图坐标,mapabc坐标 *@return 返回的NSDictionry中包含“x”,“y”字段,各自对应经过base64加密之后的x,y坐标 */ NSDictionary *dict = BMKConvertBaiduCoorFrom(coor,BMK_COORDTYPE_GPS); /** *base64加密后的坐标字典解密函数 *@param dictionary 带解密的NSDictionry,该NSDictionry中应包含“x”,“y”字段,各自对应经过base64加密之后的x,y坐标 *@return 解密之后的坐标 */ CLLocationCoordinate2D baiduCoor = BMKCoorDictionaryDecode(dict); // 转换为百度地图所需要的经纬度 annotation.coordinate = baiduCoor;//
相关文章推荐
- iOS调用系统发短信功能详解
- iOS开发----地图与导航--定位和位置信息获取
- iOS开发----调用地图导航
- iOS开发---集成百度地图
- iOS开发 CoreAnimation
- 快快快!27个提升效率的iOS开源库推荐
- iOS第三方库-CocoaLumberjack-DDLog (转)
- iOS 应用安装失败原因排查
- iOS 上线被拒收集
- IOS 嵌套实现分页的TableView
- 终极指南 - 怎样为iOS8应用制作预览视频
- iOS图片处理之滤镜效果
- 苹果iOS 7四种后台机制 优劣比较详细解析
- ios xib文件使用
- ios开发系列之对象的序列化与反序列化
- ios开发日记 -16 Xcode6快捷键、小技巧与xib圆角设置
- ios开发系列之NSRange
- iOS实现手机的连续震动和停止震动的代码(拷如工程就能用)
- iOS CocoaPods的安装和使用详解
- IOS8下,百度地图无法定位解决办法,亲测可用