iOS 调用苹果自带地图导航不准确问题解决

因为App需要调用第三方导航软件导航,后台返回的GPS,但是发现调用高德导航就要准确一些,调用苹果自带的地图导航偏差很大,查阅了相关资料如下

高德地图、腾讯地图以及谷歌中国区地图使用的是GCJ-02坐标系 百度地图使用的是BD-09坐标系 苹果自带地图在国内使用高德提供的数据,所以使用的是GCJ-02坐标系

找到原因后需要把gps转换为高德坐标系,在网上找了gps转换GCJ02的一些方法。转化后导航偏差也有点大。所以直接使用高德提供的Api有两种 一种是调在线Api: https://lbs.amap.com/api/webservice/guide/api/convert/ 二种是调用SDK方法 https://lbs.amap.com/api/ios-sdk/guide/computing-equipment/amap-calculate-tool

我直接使用调用SDK。直接上代码

// 苹果地图导航
+ (void)navAppleMap:(NSString *)lat lng:(NSString *)lng
{
    //坐标转换
    CLLocationCoordinate2D loc = CLLocationCoordinate2DMake(lat.doubleValue, lng.doubleValue);
    //将GPS转成高德坐标
    CLLocationCoordinate2D amapcoord = AMapCoordinateConvert(loc, AMapCoordinateTypeGPS);
    //用户位置
    MKMapItem *currentLoc = [MKMapItem mapItemForCurrentLocation];
    //终点位置
    MKMapItem *toLocation = [[MKMapItem alloc]initWithPlacemark:[[MKPlacemark alloc]initWithCoordinate:amapcoord addressDictionary:nil] ];
    
    NSArray *items = @[currentLoc,toLocation];
    
    NSDictionary *dic = @{
                          MKLaunchOptionsDirectionsModeKey : MKLaunchOptionsDirectionsModeDriving,
                          MKLaunchOptionsMapTypeKey : @(MKMapTypeStandard),
                          MKLaunchOptionsShowsTrafficKey : @(YES)
                          };
    
    [MKMapItem openMapsWithItems:items launchOptions:dic];
}

如果后台返回的是百度经纬度,使用以下方法

//将GPS转成高德坐标
CLLocationCoordinate2D amapcoord = AMapCoordinateConvert(loc, AMapCoordinateTypeBaidu);

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【书籍】深度学习框架:PyTorch入门与实践(附代码)

【导读】2016年是属于TensorFlow的一年,凭借谷歌的大力推广,TensorFlow占据了各大媒体的头条。2017年年初,PyTorch的横空出世吸引了...

1.2K6
来自专栏数据派THU

干货收藏 | 计算机学习绝对不能错过的10大网站(内附网站链接)

本文整理出大数据和人工智能领域最实用,质量最高的10大技术网站信息,既可以用于丰富技术知识,也可以用于学术研究。

662
来自专栏GopherCoder

技术文档如何编写?

9015
来自专栏Data Analysis & Viz

Gephi绘制微博转发图谱:以“@老婆孩子在天堂”为例

以前看过一篇提取《釜山行》剧本中人物,并用Gephi绘制关系图谱的文章,因此想用Gephi绘制下微博转发情况,借此来换个角度看看微博内容是怎么扩散的。其中爬取转...

2072
来自专栏AI研习社

七步即可学会R语言,从此数据分析不再怕!

本文特约作者为 DataCamp 的联合创始人 Martijn Theuwissen 。更多 R 语言资源请访问这里(http://t.cn/R9Uo2po)...

3253
来自专栏数据派THU

独家 | 手把手教你学习R语言(附资源链接)

作者:NSS 翻译:杨金鸿 术语校对:韩海畴 全文校对:林亦霖 本文约3000字,建议阅读7分钟。 本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言...

2857
来自专栏互扯程序

2018,如何从小白升级到大牛程序员呢?

写在前面 2017已经悄悄的走了,2018也已经匆匆的来了,我们在总结过去的同时,也要展望一下未来。俗话说一年之计在于春,虽说距立春还有一个多月,我觉...

2425
来自专栏xingoo, 一个梦想做发明家的程序员

JS面向对象概述

这部分内容还是比较难理解的,像借用构造函数这种方法,实际工作中还是很常见的,不过对于后面的寄生理解还有点困难,只能慢慢学习了。 思维导图 ?

2225
来自专栏悦思悦读

一天开发一款聊天机器人

“想不想开发一款自己的聊天机器人?” “我也可以吗?神马AI,机器学习,DNN……我都不懂啊” “没关系,其实真的没有那么复杂——掌握方法和工具的话,一天时间...

58910
来自专栏happyJared

用python快速分析你的微信好友

itchat基于python开发,封装了大量调取微信功能的接口,使得开发人员可以快速基于这个框架来完成一些微信操作,在这之前我们要做的就是扫码登录,实际上这相...

952

扫码关注云+社区

领取腾讯云代金券