Android – how to find the nearest location of the current location from a given data
•
Android
I have a location address list. From my current location, I need to go to the nearest place and display it on the map. How can I get to the nearest place from my current location. First, I will get my current location lat, and then how will I get to the nearest location
thank you
resolvent:
Your current location latitude is longitude, so please use this formula to find the distance between the current location and the location address geographic list, and display the address with the 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);
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码