提问者:小点点

获取2个GPS坐标xamarin之间的精确距离


概述

我正在使用xamarin c#创建移动应用程序,它需要在给定范围(3米)内获取点。有多个经纬度点,我需要做的是:

  • 获取当前位置我站在手机上的位置
  • 查找当前位置(蜂窝GPS)与其他多个点之间的距离
  • 显示在给定范围内的(要求为3米)

====================================================================

我做了什么:

> < li>

为了获取< code >当前位置,我使用了< code >插件地理定位器。在其< code>positionChanged()上,它正在设置我正在使用的< code>currentPosition变量(这是持续运行和更改< code>currentPosition)

为了获得当前位置和其他固定点之间的距离,我使用Haversine公式

然后取3米以下的

=============================================================

我面临的问题

  • 由于当前位置不断变化,纬度和经度有时不太精确(小数后7位),有时高度精确(15位),当计算距离时,它会产生巨大的差异。即使我没有移动我的移动设备(静态),它仍然不断更新当前位置
  • 即使它们在不到1米的范围内,它也不会显示附近的点。Haversine公式有什么问题吗?

当设备处于静态状态时,如何控制当前位置

我已经在大楼和露台外测试了整个代码,以获得更好的结果,但无法解决这个问题。


共1个答案

匿名用户

只是更新一下..我能得到接近的分数。问题出在使用地理定位器获取当前位置。我不知道为什么它在获取当前位置坐标时对我不起作用,但错误率是如此之高。无论如何,现在我已经实现了融合了位置API的Google play服务来获取位置信息,并给出了很高的精确度。

所以任何人,如果你想实现这样的功能,你可以使用这个api