为啥地理定位给我的当前位置错误的导航器当前位置方法?

Posted

技术标签:

【中文标题】为啥地理定位给我的当前位置错误的导航器当前位置方法?【英文标题】:why gelocation giving my current location wrong with navigator current location method?为什么地理定位给我的当前位置错误的导航器当前位置方法? 【发布时间】:2021-09-22 01:58:02 【问题描述】:

我正在使用 nabigator.currentLocation 但它给了我 400 公里外位置的坐标 为什么会这样?

    navigator.geolocation.getCurrentPosition((position) => 


    this.currentLocation(position.coords)
             ,()=>,
   enableHighAccuracy: true,
   timeout: 5000,
  maximumAge: 0
 );

我该如何改进??

【问题讨论】:

是的,我有带 gps 选项的笔记本电脑 我在笔记本电脑和移动设备上使用它,结果相同。设备似乎没有问题。您是否使用此代码检查过您的位置? 不,这只是我的客户功能,我正在计算距离,没有别的......那些协调的位置在我这边并不协调......实际上纬度不正确 【参考方案1】:

Mozilla 基金会关于使用地理定位 API (https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API/Using_the_Geolocation_API) 的文档说:

注意:默认情况下,getCurrentPosition() 会尽可能快地回答 可能以低准确度的结果。如果您需要快速 不论准确性如何回答。例如,带有 GPS 的设备, 可能需要一分钟或更长时间才能获得 GPS 定位,因此数据不太准确(IP location 或 wifi)可能会返回给 getCurrentPosition()。

你给它 5 秒,所以你很可能得到一个 ip。位置。

IP位置将是您在 Internet 上的存在点,这取决于网络(其中很多超出您的控制范围)的组合方式。

例如,大多数企业都会有一些内部流量出现在互联网上 - 当我使用工作 *** 时,我总是在怀卡托的数据中心。另一方面,许多 ISP 使用 ISP-NAT,这意味着对于网络的其余部分,您似乎在他们的数据中心。

要获得更好的结果,您可能需要留出更多时间。首先,我会在超时时给它整整几分钟,看看你会得到什么。然后也许考虑一下您是否可以打两个电话,从粗略(不准确)的答案开始,如果稍后您从 GPS 获得更好的答案,请对其进行改进。

【讨论】:

以上是关于为啥地理定位给我的当前位置错误的导航器当前位置方法?的主要内容,如果未能解决你的问题,请参考以下文章

没有滚动链接定位的当前导航位置

为啥我的 https 源没有使用导航器地理定位服务的权限?

即使我不动,我的颤振位置/地理定位器的当前位置也会不断变化?

高德地图怎样实现实时定位,得到当前地点的坐标,位置

手机《腾讯地图》如何定位自己当前位置的方法介绍

如何在默认导航一个 Geopoint 中设置用户当前位置?