1.需求:指定一个经纬度坐标,如:(31.2121751783,121.4411213954)。周围有一堆经纬度坐标,找出与它最近的那个。
2.实现思路:将给出经纬度看成原点(0,0)。周围经纬度定位后利用三角形第三边计算原点到各个经纬度的半径距离,最短的那个即最近的经纬。
3.具体代码:
package com.zjj.LatAndLongDemo; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import com.zjj.Entity.LocalAddress; public class Test3 { private static List<LocalAddress> ilist = new ArrayList<LocalAddress>(); public static void main(String[] args) { Test3 test3 = new Test3(); Double localDouble = 0.0; //定义一个二维数组存放经纬度 Double[][] doubles = { { 31.1963877723, 121.4940175770 }, { 31.2020280000, 121.5006010000 }, { <