【发布时间】:2011-11-19 02:45:04
【问题描述】:
当我使用http://html5demos.com/geo 定位自己时,它在 FF 和 chrome 中显示错误的位置(错误的城市)。发生这种情况的任何原因
【问题讨论】:
标签: html google-maps geolocation
当我使用http://html5demos.com/geo 定位自己时,它在 FF 和 chrome 中显示错误的位置(错误的城市)。发生这种情况的任何原因
【问题讨论】:
标签: html google-maps geolocation
我想通了。每部手机的定位模式都默认为高精度。 高精度使用 GPS、Wi-Fi、蓝牙或移动网络来确定位置。
这可能是一个挑战,因为获取设备位置的变量很多。
解决方案是将定位模式从高精度更改为仅限设备或仅限GPS。
仅限设备或仅限 GPS 应该只使用 GPS 和设备传感器来确定位置。我试过了,效果很好。
使用下面的链接更改位置模式 https://www.verizon.com/support/knowledge-base-106080/
【讨论】:
我认为如果您可以使用方法watchPosition() 而不是getCurrentPosition(),坐标将被更新太多,这将产生更好的结果
注意:最好使用除 chrome 之外的其他浏览器,它不支持 watchPosition() 方法足够好
【讨论】:
根据Firefox geolocation FAQ,Firefox 使用谷歌提供定位服务。它向 Google 发送以下信息:
我认为如果您的计算机安装了接收器,它也会使用 GPS 数据,但常见问题解答中没有提到这一点。也许是因为如果你有 GPS 数据,就不需要使用谷歌的服务器。
我假设 Chrome 作为 Google 产品使用的是相同的地理位置数据库。
至于您得到错误答案的原因,这将驻留在 Google 的数据库中。那里肯定有错误。例如,我的办公室计算机显示在墨西哥城,即使我的 IP 地址和我雇主代理服务器的 IP 地址都在德克萨斯州普莱诺,并且所有其他 IP 到位置的数据库都有这个正确(取自注册的 whois地址的数据。)
这里有两个他们声称会有所帮助的 Google 页面,尽管他们还没有为我做任何事情:
后者(联系人/IP)是一种用于报告 Google 位置问题的表单,表现为 Google 将您重定向到错误国家/地区的主页。他们说纠正数据库可能需要一个多月的时间。我已经等了将近两个月了。
有 Firefox 插件可用于强制您的浏览器报告特定位置。它们用于调试位置感知的 Web 服务,但它们也可以用于这种情况,在这种情况下,普通方法不起作用。
【讨论】:
我在 Windows 上使用 Chrome 时遇到了同样的问题,但至少在某些时候我让它工作了。
我也在用http://html5demos.com/geo的例子
位置不仅不准确,而且在错误的城市。
我在我的 iPad (Safari) 上尝试了相同的示例,并且位置正确。我的 iPad 使用与我的 PC 相同的 WiFi 网络,所以我知道这不是我的 ISP 返回错误位置的问题,而是与我 PC 上的浏览器有关。
我通过进入 Chrome 设置并清除缓存和 cookie,让它在 Chrome 中显示正确的位置。
仅在 Chrome 中选择“工具/清除浏览数据/Cookies & Cache”是不够的, 只有在我在 Chrome 中选择“设置/隐私/内容设置/所有 Cookie 和站点数据”并删除所有 Cookie 之后,示例才显示正确的位置。
更新 1:第二天我尝试了相同的地理定位示例,但令我烦恼的是,它再次显示了错误的城市。我试图通过如上所述清除 Chrome 设置来使其工作,但这次这个解决方案不起作用。但是,当我使用应用程序 CCleaner 并选择 Cleaner/Applications 并清除所有 Chrome 数据(互联网缓存、互联网历史记录、cookie 和会话)时,地理示例显示了正确的位置。我正在使用最新版本的 Chrome。希望在未来的版本中它能够更加一致地工作。
更新 2:我稍后尝试了上述过程,但根本无法生成正确的位置。可能是地理定位现在使用我的 IP 和 Google 位置服务返回我的互联网服务提供商的位置,而不是我的位置。当然,这个位置是相当无用的。我的 iPad 返回正确位置的原因可能是因为它包含内置 GPS。 iPad 3G / 4G 在 GSM 接收器芯片中内置了 GPS 芯片,而仅 WiFi 的型号没有 GPS。在 iPad 设置中关闭“定位服务”时,通过 GPS 和 IP 进行的定位也将关闭。能够关闭我的 iPad 上的 GPS 并只使用 IP 位置会很有用,但我不确定这是否可能。
更新 3。正如我所提到的,我在我的 PC 中使用 WiFi 棒。我注意到,当我查看可用的 WiFi 网络(使用查看可用无线网络)并且我的网络是唯一的网络时,地理定位示例返回不同城市的位置,但如果我的任何邻居的 WiFi 网络范围为我的电脑,地理定位示例将我的确切位置返回到几米之内。即浏览器中的地理位置足够聪明,可以使用这些额外信息来定位我。
(我认为这个问题的其他答案完全在错误的轨道上。提问者表示该位置显示在错误的城市,因此问题与位置准确性无关)
【讨论】:
不同的设备具有不同程度的准确度,您的应用程序务必要注意差异。内部装有 GPS 装置且已打开的手机通常在三米范围内准确。没有 GPS 单元的手机,关闭 GPS 单元以最大限度地利用电池,或者在 GPS 无法联系 GPS 卫星的位置,将不得不使用蜂窝塔三角测量来估计用户位置,并且通常在 3000 范围内准确计量表足够准确,可以知道用户在哪个社区,但完全无法告诉他们他们正在看什么建筑物。
如果用户从连接到陆地宽带连接的计算机访问您的站点,则通常可以通过查询提供商数据库并从 DSL 或有线电视提供商处查明确切地址来查明准确地址。
要获取位置信息的准确性,可以查询 coords 对象的准确度属性。准确度属性无论如何都不是精确的,但它可以让您的应用程序很好地了解您是否具有近乎精确的位置或邻域。
【讨论】:
我取决于使用哪种方法来获取您的位置。如果它使用 IP,那么您几乎可以在任何地方出现。如果它使用 Wifi,那么它可能只是有偏差的数据。
【讨论】: