获得2个GPS坐标xamarin之间的准确距离

时间:2017-03-01 11:51:34

标签: c# xamarin gps haversine

概述

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

  • 从手机中取出currentPosition
  • 查找currentPosition(手机GPS)与其他多个点之间的距离
  • 显示属于给定范围的那些(需要3米)

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

我做了什么:

  • 要获取currentPosition,我正在使用plugin geolocator。在positionChanged()上,它设置了我正在使用的currentPosition变量(这是连续运行和更改currentPosition

  • 要获得currentPosition与其他固定点之间的距离,我正在使用HaversineFormula

  • 然后取出距离不足3米的那些

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

我面临的问题

  • 随着currentPosition不断变化,纬度和经度有时不太精确(十进制后7位数),有时高精度(15位数),并且当计算距离时,它会产生很大的差异。即使我没有移动我的移动设备(静态),它仍在不断更新currentPosition
  • 即使它们在不到1米的范围内也没有显示附近的点。 HaversineFormula是否有任何问题?

如何在设备静止时控制current position

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

1 个答案:

答案 0 :(得分:1)

只是一个更新..我能够得到附近的点。 问题在于使用地理定位器获取当前位置。我不知道为什么它在获取当前位置坐标时对我没有用,但错误率非常高。 无论如何,现在我已经实现了Google Play服务融合位置apis来获取位置并且它具有高精度。

所以如果你想要实现这样的功能,你可以选择这个api