问题标签 [w3c-geolocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
112 浏览

java - 在 java 中运行 javascript,或从 chrome 中检索数据

我发现了一个很棒的 js 代码,它可以在不使用任何 gps 传感器的情况下提供精确的 GPS 坐标。在一些文档中,我了解到这是由于使用了 w3c 地理定位标准。

代码是,

它在 chrome 上完美运行,尽管在 IE 中不行。

我的问题是我想在我的 java 应用程序中使用这个源的结果。由于我不擅长javascript,我不知道该怎么做。

如何检索此来源的结果?

0 投票
1 回答
809 浏览

javascript - html5 地理位置是否有“GPS 状态更改”事件?

我正在为移动设备开发一个网络应用程序并使用 html5 的地理定位 api。

加载页面后,我开始观察位置:

如果用户没有打开他的 GPS,handleErrorGettingLocation则会触发,我会向他显示一条错误消息,要求他打开 GPS。

我的问题是:
假设用户然后打开他的 GPS - 我怎么能检测到(所以我可以重试并enableWatchPosition()再次调用)?有什么我可以听的 js 事件吗?

谢谢!

0 投票
0 回答
306 浏览

javascript - HTML5 Geolocation Timeout 选项在 Angular 中不起作用

我已经实现了 10 秒超时的 HTML 地理定位。但是,“失败”回调不会在 10 秒后触发。(如果用户拒绝分享他的位置,则调用“失败”回调)。

我的代码有什么问题?

这是我的代码:

解决了

问题是地理位置自己的超时仅在用户同意共享他的位置时才开始。我想处理用户不同意并且没有触发回调的情况。解决方案是使用 $timeout 创建另一个超时。

0 投票
1 回答
1375 浏览

javascript - HTML5 设备方向 - 可靠的指南针实现?

我正在开发一个需要知道用户设备指向的指南针方向的移动网络项目。现在非常简单,但这就是我所拥有的:

根据我到目前为止的研究,事件的 alpha 通道应该是指南针位置。但是,我观察到(并阅读)有多种基于操作系统和浏览器的实现。

  • 在我的 HTC 智能手机、Chrome 或默认的 Android 浏览器中,当我将手机完全垂直地保持在“自拍”位置时,我只能获得合理的读数(0 度 = 北,90 = 东,依此类推)。手机的任何角度都会使读数相距甚远。
  • 在我使用 Chrome 的 Surface Pro 上,我无法获得大于 50 的读数。
  • 在我使用 Edge 的 Surface Pro 上,我得到了非常合理的读数,但只有当我将设备水平握住时,就好像它放在桌子上一样。

人们似乎很可能已经在移动浏览器中获得了指南针方向,而不管设备如何。有没有我可以用来执行此操作的库?或者是否有必要为许多不同的特定场景编写简单的代码,比如这个例子,它也不适用于列出的所有设备:

设备方向事件

0 投票
2 回答
11453 浏览

javascript - 谷歌浏览器地理定位不起作用

我正在开发跨平台应用程序。navigator.geolocation 工作正常,但从过去 2 天开始,它只是在 Google chrome 中出现问题。该 api 是否已弃用或此 api 的其他问题?我在许多不同的浏览器和网络上测试了以下代码,但仍然是同样的问题。

错误(2):“ https://www.googleapis.com/ ”处的网络位置提供程序:返回错误代码 403。

0 投票
0 回答
1241 浏览

javascript - 尽管用户启用了位置设置,但 navigator.geolocation.getCurrentPosition 缓存响应

我们navigator.geolocation.getCurrentPosition()用来获取用户的当前位置。该函数接受三个参数:

  1. 成功获取用户位置后执行的回调函数
  2. 一个可选的回调函数,如果它不成功则执行
  3. 可选设置

如果用户在移动设备(或桌面浏览器)上关闭了位置共享,则将执行第二个回调函数。

在这种情况下,我们会向用户发送一条警告消息,要求他们启用位置共享。

我们发现的问题是,如果他们然后去这样做,然后返回网站并尝试再次单击链接,浏览器似乎已经缓存了来自 的结果getCurrentPosition(),并且它再次执行第二个回调。

如果他们在更新位置设置后刷新网页,那就没问题了。但是我不确定我们是否可以检测到他们何时重新启用了位置共享?

这里有什么解决方法可以防止我们getCurrentPosition()缓存不成功的响应吗? 也许使用watchPosition()我也尝试过使用 watchPosition,但也有同样的问题;当用户更新他们的位置共享设置时,它不会自动更新。

您可以在此处在 JSFiddle上查看此代码。

  • 禁用位置共享,单击运行,然后单击“单击我”。您应该会收到警报消息和失败响应。
  • 启用位置共享,然后单击“单击我”(无需刷新页面,也无需再次单击“运行”)。您仍然会收到警报消息。
  • 刷新页面,这次你会得到成功响应。
0 投票
1 回答
1743 浏览

javascript - JavaScript - 向成功回调添加参数

语言:Reactjs 和 vanilla JavaScript

这个问题更多的是一个普通的 JavaScript 回调问题,但我将添加我的 React 代码来展示我是如何陷入这种困境的。

让我们看看,塔伦蒂诺风格,在我令人困惑的错误:

我正在尝试发送回调作为成功回调的参数

但它不喜欢,因为根据文档,“pos”被认为是成功回调的“唯一输入参数” 。

现在让我们倒带并弄清楚是什么让我陷入了这个混乱:

我使用回调作为一种方式,让我的 React 应用程序竖起大拇指,表明异步获取已完成并呈现自身。

一旦下面的代码成功,我需要执行该回调:

但是 geolocation.getCurrentPosition 已经规定了回调,因此似乎无法将该回调作为成功回调的参数传递

有没有办法将该回调作为成功回调的额外参数传递?作为回调的参数发送的回调看起来很奇怪,但是形成我的原始回调来处理位置模块之外的位置逻辑也感觉很俗气。

0 投票
0 回答
119 浏览

geolocation - 找不到经纬度巴西国家/地区

我用于navigator.geolocation.getCurrentPosition()地理位置,我得到了很长的时间。但是当我尝试使用这种方法访问巴西国家纬度时,不能给我纬度。

建议我如何在巴西国家获得经纬度值。

代码:

0 投票
1 回答
7893 浏览

javascript - Jquery ajax 将变量发布到 php

我的 ajax.php 脚本

还有我的 new.html 页面

首先我知道有未使用的代码。但我会使用这些积木。不给我任何回应。它必须成功地工作。但它并没有在我的 php 页面中给我 lat 和 lon 变量。如果有另一种方法可以将变量发送到 php 页面,我可以尝试。

0 投票
2 回答
347 浏览

android - Insecure Origins 和 Phonegap 桌面上的强大功能

我创建了一个 Phonegap 项目,并正在使用 Phonegap Desktop 对其进行测试。

在项目中,我使用的是 Geolocation API。

在 Chrome 中我得到

getCurrentPosition() 和 watchPosition() 在不安全的来源上被弃用。要使用此功能,您应该考虑将应用程序切换到安全源,例如 HTTPS。有关更多详细信息,请参阅https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

如何配置 Phonegap Desktop 以使其工作?我该怎么做才能让它在实际的手机上运行?

我已经添加了config.xml