How can find nearest place from current location from given data.

后端 未结 3 570
-上瘾入骨i
-上瘾入骨i 2021-02-02 03:31

I have list of location address. from my current location, i need to get the nearest place and have to show it on map. How can i get nearest place from my current location. Firs

3条回答
  •  星月不相逢
    2021-02-02 04:13

    You have your current location latitude an longitude so just find out distance between your current location and list of location address geopoints using this formula and display address with shortest distance.

    private double distance(double lat1, double lon1, double lat2, double lon2) {
            // haversine great circle distance approximation, returns meters
            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; // 60 nautical miles per degree of seperation
            dist = dist * 1852; // 1852 meters per nautical mile
            return (dist);
        }
    
        private double deg2rad(double deg) {
            return (deg * Math.PI / 180.0);
        }
    
        private double rad2deg(double rad) {
            return (rad * 180.0 / Math.PI);
        }
    

提交回复
热议问题