本文介绍了如何才能找到最近的地方从给定的数据当前位置。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的位置的地址列表。从我目前的位置,我需要得到最近的地方,必须证明它在地图上。我怎样才能从我的当前位置最近的地方。首先,我会得到我的当前位置经纬度和长期再怎么我会得到最近的地方。
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. First i will get my current location lat and long then how i will get nearest place.
感谢
推荐答案
您有您的当前位置的纬度的经度所以只要找到你的当前位置,并使用这个公式,并显示地址以最短的距离位置的地址geopoints列表之间的距离。
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);
}
这篇关于如何才能找到最近的地方从给定的数据当前位置。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!