在当前位置查找最近的城市 - Android

时间:2015-01-12 11:13:19

标签: java android location

嘿,我想知道你是否可以帮助我。

我基本上已经获得了用户当前位置并从地理编码器对象运行了一个.getLocality()函数来显示他们所在的城市。但是如果用户当前位置在米德尔塞克斯,我将如何获得它说伦敦?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以计算当前位置纬度,经度和传递纬度和距离之间的距离。你所拥有的所有城市中的很长一段时间现在计算哪个城市距离最远并显示出来。

public static double distance(double lat1, double lon1, double lat2, double lon2) {
        double theta = lon1 - lon2;
        double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2)) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.cos(deg2rad(theta));
        dist = Math.acos(dist);
        dist = rad2deg(dist);
        dist = dist * 60 * 1.1515;
        return (dist);
    }

    public static  double deg2rad(double deg) {
        return (deg * Math.PI / 180.0);
    }
    public static double rad2deg(double rad) {
        return (rad * 180.0 / Math.PI);
    }