您好,匿名用户
随意问技术百科期待您的加入

如何正确、统一的处理iOS地图漂移?

0 投票

已知:iOS5、6使用不同的数据源;iOS6会根据运营商和IP地址使用不同的数据源;国内地图存在一定的「漂移」。

问:怎么在iOS5和iOS6下,无论设备在墙内墙外:
1 获得并存储真实的经纬度(wgs84)
2 在任意类型地图(Google/AutoNavi/TomTom)上标记到正确的位置。

用户头像 提问 2012年 12月1日 @ Alistar 上等兵 (326 威望)
分享到:

1个回答

0 投票

基于你的问题,我觉得描述的还不是很详细,我补充几点:

1. 常入眼的坐标系包括:wgs84,这是全球通用的标准(除天朝),你的调用手机的gps模块返回的坐标就是这个坐标系;gcj02,这个是我天朝测绘局基于wgs84进行的非线性偏移后的坐标系,国内的地图厂商如果想通过资质审核使用gcj02是最基本,还有些基于gcj02进一步进行了加密(百度的bd09坐标系);

2. 由于在国内,所有的电子地图都是经过偏移的,所以你必须使用gcj02的坐标才能在地图上准确显示位置,如果使用wgs84那必定会有问题,实际上就是你用了真实的经纬度放在了另一个坐标系的电子地图上,所以会出现偏移,但是wgs84的经纬度绝对是真实的。

3、国内你能拿到的数据基本都是gcj02的,因为使用wgs84的数据是非法的,应该是保密法之类啥的吧

4、那怎么办?没辙了么?跪了么?当然不会,现在的问题就是如何把手机上得到wgs84坐标转换到gcj02上,答案是肯定可以的,wgs84->gcj02的转换一般是由国家测绘局提供的,不过我们一般拿不到,不过你可以使用第三方的地图资质厂商的平台提供的接口(这个肯定有,因为我之前用过,如果找不到我帮你找找)。

5、如果你不想对经纬度转换来转换去的,因为这样毕竟增加了不必要的代码,如果这些不是你的核心业务的话,你可以使用国内第三方的地图平台的整体解决方案,一般是在客户端集成他们的sdk,然后这个sdk帮你从定位到上图搞定一切,无需担心中间的坐标转换的问题,因为sdk已经内部做好了。

6、对于在“在任意类型地图(Google/AutoNavi/TomTom)上标记到正确的位置。”这个问题,怎么说呢,除非他们的坐标系是一致的,否则你会很恶心,AutoNavi是gcj02,Google国内是gcj02国外是wgs84,TomTom我还真不知道,总之,祝你好运吧..

用户头像 回复 2012年 12月1日 @ Capricorn 上等兵 (188 威望)
提一个问题:

相关问题

0 投票
1 回复 41 阅读
用户头像 提问 2012年 12月1日 @ Vayne 上等兵 (271 威望)
0 投票
1 回复 28 阅读
用户头像 提问 2013年 12月20日 @ Soraka 上等兵 (319 威望)
0 投票
1 回复 44 阅读
0 投票
1 回复 23 阅读
用户头像 提问 2014年 2月15日 @ Vladimir 上等兵 (275 威望)
0 投票
1 回复 47 阅读
用户头像 提问 2012年 12月1日 @ Rengar 上等兵 (236 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...