我正在构建一个地图应用程序,并注意到尽管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上遇到过地理位置问题吗?
任何帮助/建议表示赞赏。
答案 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英里)。