概述
我正在使用xamarin c#创建移动应用程序,这需要获得给定范围(3米)内的点数。纬度和经度有多个点,我需要做的是:
currentPosition
currentPosition
(手机GPS)与其他多个点之间的距离=============================================== =====================
我做了什么:
要获取currentPosition
,我正在使用plugin geolocator
。在positionChanged()
上,它设置了我正在使用的currentPosition
变量(这是连续运行和更改currentPosition
)
要获得currentPosition
与其他固定点之间的距离,我正在使用HaversineFormula
然后取出距离不足3米的那些
=============================================== ==============
我面临的问题
currentPosition
不断变化,纬度和经度有时不太精确(十进制后7位数),有时高精度(15位数),并且当计算距离时,它会产生很大的差异。即使我没有移动我的移动设备(静态),它仍在不断更新currentPosition
。HaversineFormula
是否有任何问题?如何在设备静止时控制current position
?
我已经在建筑物和露台外测试了整个代码以获得更好的结果,但无法解决这个问题。
答案 0 :(得分:1)
只是一个更新..我能够得到附近的点。 问题在于使用地理定位器获取当前位置。我不知道为什么它在获取当前位置坐标时对我没有用,但错误率非常高。 无论如何,现在我已经实现了Google Play服务融合位置apis来获取位置并且它具有高精度。
所以如果你想要实现这样的功能,你可以选择这个api