为什么IE9的地理位置支持与其他浏览器相比存在问题?

4
我正在构建一个地图应用程序,发现虽然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上遇到过地理位置问题吗?任何帮助/建议都将不胜感激。

看起来很荒谬,但似乎是必需的。 - TJHeuvel
这可能是某种权限问题吗?讨论页面上的一个示例似乎在IE9中回退到IP地址地理位置。 - Piskvor left the building
当IE9询问时,我会给予完全访问权限,因此我认为这不是权限问题。从下面的响应来看,可能只是“Microsoft位置服务”比Google的差 :-( - Integralist
1个回答

7
根据此页面,Firefox使用Google位置服务
引用:

它是如何工作的?

当您访问一个具有位置感知功能的网站时,Firefox会询问您是否要分享您的位置。

如果您同意,Firefox将收集有关附近无线访问点和计算机IP地址的信息。然后,Firefox将此信息发送到默认的地理定位服务提供商Google位置服务,以获得您的位置估计。该位置估计随后与请求的网站共享。

而根据此页面,Internet Explorer (预料之中) 使用Microsoft位置服务:
引用:

如果允许,Internet Explorer将借助Microsoft位置服务来近似您的位置

报告的位置差异将由底层数据库中的差异导致,例如,Google数据库可能列出Microsoft数据库没有的WiFi点或IP地址(或反之亦然)。
我找不到有关更改IE位置提供程序的任何信息,尽管Firefox似乎为替代提供程序提供了规定,但目前我无法看到如何更改。
请注意,对于我来说,Internet Explorer实际上报告了我更准确的位置(两种浏览器都能正确获取我的位置,但在IE中,误差半径约为10英里,而在Firefox中为20英里)。

1
虽然我有点失望,其他人似乎已经使用了地理定位,但以前没有考虑过这种问题,但我认为你的答案可能是我在这个问题上得到的最好的答案,所以感谢你花时间解释它 :-) - Integralist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接