2017-06-08 51 views
0

我正在进行地理定位项目。我想确定哪些是离我的位置最近的4个点。计算4点距离用户位置最近? (Android)

enter image description here

箭红:该用户的位置(我可以很容易地他在屏幕上的位置)

蓝点:所有的点,我需要你可以在下面的图片中看到确定哪个4距离用户越近。

在这里,它将是红色的。我也可以轻松地在屏幕上获得他们的位置。我只需要数学的方程就可以知道有关的4个点。

感谢您的宝贵帮助!

回答

0

问题解决了:

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

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 :)!