Javascript:使用 onx api 获取当前 GPS 位置?
Posted
技术标签:
【中文标题】Javascript:使用 onx api 获取当前 GPS 位置?【英文标题】:Javascript: Get current GPS location using onx api?Javascript:使用 onx api 获取当前 GPS 位置? 【发布时间】:2012-06-10 13:02:21 【问题描述】:我正在使用 onx api 尝试创建一个规则,该规则显示您在哪里的通知(并可能将其链接到打开谷歌地图?)每次您停车时(当您开车离开时)走路/静止)。我在 onx 的演示视频中看到了它,但我没有找到规则,所以我想我会尝试自己制作它,只是为了好玩。
虽然我在获取当前 gps 坐标时遇到了一些问题,但我似乎无法弄清楚如何使用位置 api。
这是我到目前为止所得到的:
device.modeOfTransport.on('changed', function(signal)
if (signal.previous === 'driving' && (signal.current === 'walking' || signal.current === 'atrest'))
);
如果有任何 javascript 大师可以看看 api,那就太好了。这是位置 api:
https://www.onx.ms/#apiPage/location
【问题讨论】:
【参考方案1】:看起来modeOfTransport
changed
处理程序没有直接向您提供位置信息。 (为什么?可能是因为 modeOfTransport
只能从加速度计遥测中断言,因此甚至不涉及 GPS。)您必须在处理程序中构建并启动 locationListener
,并使用输入的位置信息该侦听器的处理程序。
例如,您可以尝试以下操作(我或多或少地从文档中复制和粘贴拼凑而成)。
device.modeOfTransport.on('changed', function(signal)
if (signal.previous === 'driving' && (signal.current === 'walking' || signal.current === 'atrest'))
var listener = device.location.createListener('GPS', 5000);
listener.on('changed', function (signal)
console.info('Lat: ' + signal.location.latitude);
console.info('Lon: ' + signal.location.longitude);
listener.stop();
);
listener.start();
);
【讨论】:
我认为它必须像这样完成,我只是不知道如何将它拼凑在一起。我不确定它到底是如何工作的。 5000区间,这无关紧要吗?因为无论如何,监听器第一次运行时都会停止,对吧?或者它会在开始前等待 5 秒?如果是这样,将其设置为 0 会更聪明,对吧?谢谢! @qwerty 文档在触发位置处理程序时并不完全清楚,但是是的 - 我希望它被调用一次,然后停止。此外,我假设所有这些都在单个线程中运行(因为它们似乎想迎合 Web 开发人员),这也表明即使多个事件排队调用您的处理程序,它们也会被阻止然后被忽略,因为在第一次调用后停止监听器。 那好吧。我要去兜风!感谢您的帮助!以上是关于Javascript:使用 onx api 获取当前 GPS 位置?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 javascript / jQuery 获取数据 ajax api 数组?
当邮递员正在做时,javascript fetch 没有发布到 rest api 端点
使用javascript将数据发送到api时出现cors问题[重复]
如何在前端的 Javascript Ajax API 调用中隐藏我的 JWT 令牌?
如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用