关于修正从 Core Location 获得的坐标的偏移量

2011-04-17 22:27:22 +08:00
 Livid
因为众所周知的原因,从 Core Location 获得的当前位置的坐标实际上偏移的,在把这样的坐标保存到数据库之前,必须进行偏移修正。

貌似偏移量是一个常量,这里有人试着测量过么?
25190 次点击
所在节点    iDev
65 条回复
Livid
2011-04-17 23:27:07 +08:00
Google Earth 里对经纬度的显示,精确到六位数。
Livid
2011-04-17 23:27:51 +08:00
-18 / +43

接下来继续验证。
keakon
2011-04-18 00:28:16 +08:00
不是常量,各个地方都不同。

去搜下火星坐标吧,有修正的数据库,也有人用matlab拟合了一个函数…
jorakura
2011-04-18 00:58:37 +08:00
原来如此。不是说iOS4之后地图可以正常使用了?
Livid
2011-04-18 01:05:15 +08:00
@jorakura Google Maps 里可以正确显示目前的所在地(那个蓝点),但是用 Core Location 取到的当前位置,如果输入到 Google Maps 里显示,就是偏移的……
jorakura
2011-04-18 01:12:04 +08:00
太悲惨了。我刚好也在写要CoreLocation的代码。。。
在iPhone自己的MKMapView里面对么?
Livid
2011-04-18 01:13:35 +08:00
@jorakura MKMapView 会忠实地执行你让它画的坐标,没有偏移。

问题在于你用 CoreLocation 取得的 current CLLocation 是需要修正的。
summic
2011-04-18 01:15:18 +08:00
火星座标竟然是用来保护国家安全的,太弱智了吧?
jorakura
2011-04-18 01:17:17 +08:00
@Livid 就是说CoreLocation的坐标是对的,地图是已经偏移过的,需要转化为火星坐标才能正确在火星地图上显示?
lianghai
2011-04-18 01:22:00 +08:00
难道是 iOS 里有自己私有的修正过程?
Sai
2011-04-18 01:23:00 +08:00
@lianghai iOS自己肯定修过了。

@jorakura @Livid 之前 Cydia 有一个修偏移的补丁,说不定可以用上。
Livid
2011-04-18 01:23:08 +08:00
@jorakura CoreLocation 取到的坐标是错的。地图没偏。
Livid
2011-04-18 01:24:00 +08:00
@Sai iOS 里的 Maps 应用自己做了修正。但是提供给开发者的 API 是悲剧。
Livid
2011-04-18 01:25:37 +08:00
这个问题值得花时间研究研究。到底是 API 给出的当前位置是错的,还是地图本身是错的。

从我目前的测试来看,地图没错,错的是 API 返回的当前位置。
Livid
2011-04-18 01:27:14 +08:00
话说 iPhone 其实就是一个 programmable GPS,可以玩的花样太多了。。。
jorakura
2011-04-18 01:29:02 +08:00
@Livid 4sq这些需要地图的app标识的位置也错么?好像喜欢的人挺多,是习惯了就好了的关系?
lianghai
2011-04-18 01:29:04 +08:00
查了一下介绍,真是大开眼界。
Livid
2011-04-18 01:31:17 +08:00
@jorakura 4SQ 和 GOWALLA 都是让用户从列表中选择一个附近已经存在的地名,没有用到精确定位。

如果是需要更精确定位的应用,那么这些问题就不是小问题了。
jorakura
2011-04-18 01:31:23 +08:00
@Livid 按理说GPS的结果来自天上的卫星。。。
Livid
2011-04-18 01:32:31 +08:00
@jorakura 卫星 -> iOS -> CoreLocation -> User Programs

中间还是有太多层级了。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/11666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX