【问题标题】:Why is IE9 geolocation support broken compared to other browsers?与其他浏览器相比,为什么 IE9 地理定位支持被破坏?
【发布时间】:2012-02-23 03:41:51
【问题描述】:

我正在构建一个地图应用程序,并注意到虽然 IE9 支持地理定位 api,但它错误地计算了纬度/经度。

其他用户也注意到了这一点http://social.technet.microsoft.com/Forums/en-IE/ieitprocurrentver/thread/aea4db4e-0720-44fe-a9b8-09917e345080,但是没有多少谷歌搜索从开发者博客/更多技术读者那里得到任何结果......我觉得很奇怪,没有人在 IE9 中测试他们的地理定位代码!?

这是我的示例代码:https://gist.github.com/1710256

这里有没有人知道为什么会这样,因为它使检测地理定位 api 的功能几乎不可能。另外,我注意到回退(如 Paul Irish 的 polyfill 中提供的)也有与 IE9 的本机实现中发现的相同的问题?

还有其他人在 IE9 上遇到过这个地理定位问题吗?

任何帮助/建议表示赞赏。

【问题讨论】:

  • 荒谬但似乎需要。
  • 这可能是某种权限问题吗?讨论页面上的示例之一似乎是回退到 IE9 中的 IP 地址地理定位。
  • 当被 IE9 询问时,我给予完全访问权限,所以我认为这不是权限问题。看看下面的回复,它可能只是“微软定位服务”比谷歌的更糟糕:-(

标签: javascript geolocation internet-explorer-9


【解决方案1】:

根据this page火狐使用Google Location Services

它是如何工作的?

当您访问位置感知网站时,Firefox 会询问您是否 想要分享你的位置。

如果您同意,Firefox 会收集有关附近无线网络的信息 接入点和您计算机的 IP 地址。 然后 Firefox 发送这个 向默认地理位置服务提供商 Google 提供信息 位置服务,以估算您的位置。 该位置 然后将估算值与请求网站共享。

根据this page Internet Explorer(相当可预见)使用微软定位服务:

如果您允许,Internet Explorer 将借助 Microsoft 定位服务估算您的位置

报告位置的差异是由于底层数据库的差异,例如谷歌数据库可能会列出微软没有的 WiFi 点或 IP 地址(反之亦然)。

我找不到任何有关更改 IE 位置提供程序的信息,尽管 Firefox 似乎确实提供了替代提供程序的规定,但我目前不知道如何更改它。

请注意,对于我来说,Internet Explorer 实际上更准确地报告了我的位置(两个浏览器都正确获取了我的位置,但是在 IE 中错误半径约为 10 英里,而在 Firefox 中约为 20 英里)。

【讨论】:

  • 虽然我有点失望,其他人似乎使用了地理定位但在我认为你的答案可能是我在这个问题上得到的最好的答案之前没有考虑过这类问题,所以谢谢你有时间解释它:-)
猜你喜欢
  • 1970-01-01
  • 2015-08-02
  • 2011-11-21
  • 1970-01-01
  • 1970-01-01
  • 2019-02-12
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
相关资源
最近更新 更多