gpt4 book ai didi

javascript - navigator.geolocation 不返回 iOS 6 的有效时间戳

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:18:02 26 4
gpt4 key购买 nike

我在浏览器应用程序中有一些非常基本的 GeoLocation 代码,它必须报告纬度/经度和时间戳的准确 GPS 值。

这一直适用于 Android 设备和最高 iOS 5.1.1 的 iPhone。

现在我们的一个用户已经升级到iOS 6.0.1,现在返回的时间戳都失效了。

javascript代码的基本形式:

navigator.geolocation.getCurrentPosition(foundLocation, noLocation, { enableHighAccuracy: accuracyVal, timeout: timeoutVal, maximumAge: maxageVal }

function foundLocation(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
var gps_ts = position.timestamp;
}

Android 设备继续返回与实时匹配的 gps_ts UNIX 时间戳,但在 iOS 6 中,我们得到的时间戳转换为从 1958 年到 1969 年的奇数日期时间。它们似乎是按时间顺序测量的,因为值随着连续使用而增加,但它们不再是当前时间的 UNIX 时间戳。

我们将不胜感激。我看到还有其他关于 iOS 6 地理定位支持的报告(请参阅 https://discussions.apple.com/thread/4313850?start=0&tstart=0 ),但没有专门介绍 javascript 用法和时间戳功能。

最佳答案

我今天一直在试验这个。据我所知,iOS 中的 timestamp 基本上是其他浏览器的“分辨率”的 1000 倍(微秒而不是毫秒)。我写了一个这样的辅助函数来解决它:

function getGeoTimestampDate(timestamp) {
if (timestamp > 14000000000000) { timestamp = Math.floor(timestamp / 1000); }
return new Date(timestamp);
}

我只能在几台设备上进行测试(原始 iPad 和 iPhone 4,都在 iOS 6.0.1 上)所以如果有人能确认它是否适用于其他设备,我将不胜感激。

关于javascript - navigator.geolocation 不返回 iOS 6 的有效时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13388588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com