问题标签 [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 回答
2414 浏览

javascript - 根据地理位置获取路线,google-maps-api

嗨,我想创建一个地图,当调用一个函数时,它会根据用户当前的地理位置生成指向某个点的方向。我已经尝试过这样做,但到目前为止我的尝试都没有结果,这是我当前的 JS 代码:

任何帮助将不胜感激,但请记住,它必须使用谷歌地图 api,v3。谢谢 :)

0 投票
1 回答
1715 浏览

javascript - Combining google places api, and directions-map api v3

I have the following code in my page (based at the moment around the google examples. I have however hit a snag, i can't seem to make places work (the markers wont show), this is my code . . . it should show all cafes, restaurants and dars within 10km's of the users location with geolocation, it also gives directions to Darwin in Australia from the users current position.

this is the code:

var directionDisplay; var directionsService = new google.maps.DirectionsService(); var a; var b; var latandlon; var map; function initialize() { navigator.geolocation.getCurrentPosition(create_a_var); }

0 投票
0 回答
391 浏览

html - iOS 6 破坏了 GeoLocation 网络应用

我们有一个 HTML5 应用程序,它使用 web sql、离线功能和地理定位 API,并且 enableHighAccuracy 选项设置为 true。

由于 iOS6 position.coords.accuracy 即使在户外热身几分钟后也经常报告高值(100m+),而 iOS5 在 iPhone 4S、iPad 3 上很快达到并保持在 5m 精度。

一种解决方法是杀死所有应用程序,然后运行 ​​Apple 地图应用程序,按下当前位置按钮,然后启动 HTML5 Web 应用程序,在这种情况下一切正常。

多亏了SO12503815,我们无法运行移动网络应用程序。

除了编写本机应用程序之外,还有什么解决方法吗?

0 投票
0 回答
169 浏览

jquery - IE9 中的地理位置问题

我在 IE9 及更高版本中遇到了一些地理定位问题。下面的脚本在所有其他浏览器中运行良好,在#loader 中淡出消息并在其位置显示最近的位置。但是在 ie9 及更高版本中,即使在 ie 请求使用您的物理位置时选择“允许”,#loader 也不会完全消失。

任何帮助表示赞赏。

0 投票
1 回答
6772 浏览

javascript - navigator.geolocation.watchPosition 只是不工作

好的,我的代码在下面,所以我将解释我在做什么以及我得到的结果。

我正在尝试使用 navigator.geolocation.watchPosition 获取用户位置。我已经指定了成功和错误回调。我第一次获得位置时通常非常不准确,因此我使用 watchPosition 继续获得位置,直到尝试 4 次或获得精确到 500 米以内的位置。

我遇到的问题:

  • 它永远不会进入 android 的错误回调(在 HTC Sensation 和三星 Galaxy S3 上测试)。然而,在 iPhone 上,它似乎有超过 50% 的时间进入错误回调。

  • 它也永远不会超时。它只是继续搜索,直到收到位置。

  • 检索位置需要 0-60 秒之间的任何时间。有时它在页面加载完成之前就有它,有时它需要一分钟的大部分时间。也没有可辨别的模式来解释为什么它有时会很快,而为什么其他时候不能。

我搜索了许多论坛帖子和许多 stackoverflow 问题以及地理位置规范和任何其他文档。关于它的信息并不多,更不用说这些问题了。有什么我做错了吗?或者这只是与位置合作的本质?

0 投票
1 回答
453 浏览

html - HTML5 地理定位 API 是如何在浏览器中实现的?

每个浏览器都以自己的方式实现地理定位 API 吗?或者是否有一些所有浏览器都可以做到的标准方式?

他们是怎么做到的?

他们什么时候无法进行地理定位?

0 投票
2 回答
381 浏览

html - Opera 中的地理位置实现

我正在测试 HTML5 地理位置。我在 Opera 和 Opera Mobile 中有一些奇怪的结果。

当我在上次访问位置时间戳后的一段时间(例如 25 分钟)后访问该站点时,该时间戳来自过去的某个时间。但是我通过选项告诉我我想要位置不超过 5 秒。页面刷新后,我得到接近“现在”的位置时间戳。我认为它应该在每次访问时返回接近“现在”的位置时间戳。

例子:

首次访问:位置时间戳23:23:13

关闭浏览器:

23:45:20返回站点:位置时间戳23:25:21

刷新:位置时间戳 23:45:11

这是我的 API 调用:

navigator.geolocation.getCurrentPosition(geoSuccess, geoError, { maximumAge: 5000, timeout: 10000, enableHighAccuracy: true });

您可以在我为测试创建的 azure 网站上观察到这一点

geotest.apphb.com

编辑:几分钟前,我了解到opera:config让我可以访问地理位置设置,其中我发现仅在更改时发送位置请求。当我将其关闭时,地理位置 api 按预期工作。但是我不明白这个设置。为了发送位置请求必须改变什么?启用此设置后,地理位置 api 会为我提供几个小时前的位置。即使我已经在不同的城市。

0 投票
2 回答
2087 浏览

javascript - Javascript/HTML5 Geolocation using external js file

I've just started experimenting with Geolocation in web pages.

I've found the useful code snippet on W3Schools (http://www.w3schools.com/html/html5_geolocation.asp) which works.

What I'm a bit perplexed about though, is that IF i put the block (minus the tags) in a separate .js file, call the js file in the of my page, the code doesn't work at all. Why is this?

I'd like to have the final working code in its own .js file tht I can reference from any page.

The js file is in the same folder as the htm/php file

As soon as I revert the script into the body of my page, it works. Could someone help me understand the cause for this please? (If it makes a difference, I'm using Firefox 20


index.php

geo.js

0 投票
2 回答
2143 浏览

html - 减少地理定位 watchPosition 调用的频率

我正在为一家物流公司编写一个跟踪应用程序,该应用程序需要定期将每部手机的位置报告回基地。该geolocation.watchPosition方法似乎很理想,但据我所知,它每秒更新一次位置,似乎无法增加回调之间的间隔。从数据使用的角度来看,每秒一次有点过于频繁 - 每分钟一次是理想的。

是否可以将选项传递给 watchPosition 以使其以最小间隔执行回调?

0 投票
3 回答
6234 浏览

html - 有没有办法检测用户是否已经授予使用 navigator.geolocation 的权限?

除了第一次设置cookie之外,有没有办法检测用户是否已经允许navigator.geolocation返回浏览器的纬度/经度?

如果有,它是什么?它在所有浏览器中都相同还是在所有浏览器中不同?

该主题已在其他地方部分回答

根据GeoLocation API – Chrome / Safari – Permission management and Visual Differences,Chrome 要求一个可撤销的一次性权限。我还没有读完这篇文章,但似乎权限存储并不是纯 Chrome 要做的事情。