计算距用户位置最近的4点? (机器人)

时间:2017-06-08 16:15:52

标签: java android math

我正在开展地理定位项目。我想确定哪个是距离我的位置最近的4个点。如下图所示:

enter image description here

箭头红色:USER的位置(我可以很容易地在屏幕上找到他的位置)

蓝点:我需要确定哪一点是4越靠近用户。

在这里,它将是红色的。我也可以轻松地在屏幕上获得他们的位置。我只需要数学公式来了解有关的4个点。

感谢您的宝贵帮助!

1 个答案:

答案 0 :(得分:1)

问题解决了:

我首先使用每个点的基本方程计算距离:

sqrt((Xb-Xa)² + (Yb-Ya)²)

然后我对每个点的结果进行排序(升序):

Object[] a = distance.entrySet().toArray();
        Arrays.sort(a, new Comparator() {
            public int compare(Object o1, Object o2) {
                return ((Map.Entry<Integer, Double>) o1).getValue()
                        .compareTo(((Map.Entry<Integer, Double>) o2).getValue());
            }
        });

刚刚为前4名做了一次,得到了我最接近的4分。 ez pz :)!