与其他浏览器相比,为什么IE9地理定位支持被破坏?

时间:2012-01-31 12:05:46

标签: javascript geolocation internet-explorer-9

我正在构建一个地图应用程序,并注意到尽管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上遇到过地理位置问题吗?

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

1 个答案:

答案 0 :(得分:7)

根据this page,Firefox使用Google Location Services

  

它是如何运作的?

     

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

     

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

根据this page Internet Explorer(相当可预测)使用Microsoft位置服务:

  

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

来估算您的位置

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

我找不到有关更改IE的位置提供程序的任何信息,虽然Firefox似乎有替代提供程序的规定但我现在还不能看到如何更改它。

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