为啥标题在带有 chrome 的 android 上的地理定位中保持“空”

Posted

技术标签:

【中文标题】为啥标题在带有 chrome 的 android 上的地理定位中保持“空”【英文标题】:Why does heading stay "null" for geolocation on android with chrome为什么标题在带有 chrome 的 android 上的地理定位中保持“空” 【发布时间】:2017-12-08 19:20:25 【问题描述】:

我创建了一个小型地理定位手表:

navigator.geolocation.watchPosition(
    this.updateLocation.bind(this),
    this.errorLocation.bind(this),
    enableHighAccuracy: true
);

其中updateLocation 定义为:

private updateLocation(position: Position) 
    this.myLatitude = position.coords.latitude;
    this.myLongitude = position.coords.longitude;
    this.myAccuracy = position.coords.accuracy;
    if (position.coords.heading != null) 
        this.myHeading = Game.toRad(position.coords.heading);
    
    this.GPSWorking = true;

现在这段代码正在“工作”,我看到它正在更新 gps 数据并且准确度符合预期。 - 只有一个“但是”:标题总是“空”。在电脑上,甚至没有启用高精度时,我都可以预料到这一点。

但在我尝试过的所有设置中,它都会给出“null”。

我知道我的手机有一个工作陀螺仪:我实际上可以在原生 android 应用程序中获取航向。 - 我还注意到谷歌地图(网站,通过 chrome)能够确定我的航向;所以一定是我做错了什么?

一个小小提琴,以便人们可以测试它:https://jsfiddle.net/8p5rngtk/15/ - 我只对标题感兴趣(尽管其余部分显示 gps 正在设备上工作)。


编辑:

嗯,它“刚刚”开始按预期工作。 (非常好),我唯一注意到的是更新频率比我将其编写为原生应用程序时要慢得多 - 太慢了,以至于我的应用程序无法依赖它。

无论如何,如果有人知道为什么这“有时”会起作用,它可能有助于解决未来的问题。

【问题讨论】:

【参考方案1】:

我知道的所有浏览器目前都不支持标题属性。就像海拔高度一样。

Generic Sensors API 可能会在未来提供一些帮助。 (注意:他们永远不会实施提议的地理位置“传感器”)

我希望看到支持的高度和航向,但想想需要过滤的事件越来越多:-(

【讨论】:

好吧,看看我的“编辑”: - 它昨天晚上突然开始工作。 - 虽然没有按预期/预期工作(因为内部机制是陀螺仪,我知道它的稳定时间不到十分之一秒,我希望航向也会每秒更新多次,但事件不是' t 经常开火..)。 对我来说真是个好消息。谢谢

以上是关于为啥标题在带有 chrome 的 android 上的地理定位中保持“空”的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个 CSS 不适用于 Android 上的 Chrome,但适用于其他任何地方?

Cordova - 为啥 $http get 请求在 android 设备上失败但在 chrome 上工作

为啥 Chrome 不显示带有 <use> 和 Filter="url(#id)" 属性的 SVG?

Chrome 允许 ajax 访问 http 外部来源,而 firefox 不允许 - 为啥?

为啥我在 Chrome 中运行时在 Android 中收到“无法为 m-section 设置远程视频描述发送参数,mid='0'”错误?

为啥 Android 原生 HTML5 日期选择器上的 Chrome 变得非常慢?