因为 Mobile Safari 的 Geolocation API 应该是 W3C Geolocation API 的实现,所以我发现了一些错误。我想知道是否有人注意到了同样的事情。
- 正如 W3C Geolocation API 中所指定的,PositionCallback 返回一个 Position 对象,其中包含一个 Coordinates 对象。在这个对象中,所有属性都是 double 类型。使用 navigator.geolocation.getCurrentPosition 并检查成功回调中的 Position 对象,准确度属性始终是一个对象,但应该是一个双精度对象。在 iPhone 模拟器中测试时,heading 属性始终为 -1,但应为 null 或介于 0 到 360 之间。
- 按照 W3C Geolocation API 中的指定设置 navigator.geolocation.watchPosition 或 navigator.geolocation.getCurrentPosition 的 options 参数无效。无论超时值设置为多少,win 回调都会每 10 秒调用一次。例如设置 timeout=1000 应该立即调用 successCallback 或 errorCallback。
谢谢