如何从中心点

时间:2016-02-05 09:32:06

标签: android google-maps geographic-distance

我有一个Geopoint,它是用户的当前位置。我知道它的纬度和经度。我想在用户位置周围50公里处获得一个方形周长,所以我需要知道什么是最小值和最小值。在java中,最大纬度和给定点周围的最小和最大经度。 愿有人帮我解决这个问题吗? 提前致谢 ?

1 个答案:

答案 0 :(得分:2)

刚刚找到解决方案。如果你有一个给定点P(lat,long)。 例如,如果你需要在方形周长周围达到50公里,你需要考虑地球半径。下面怎么做:

double R = 6371; // earth radius in km
double radius = 50; // km
double latMin = lon - Math.toDegrees(radius/R/Math.cos(Math.toRadians(lat)));
double latMax = lon + Math.toDegrees(radius/R/Math.cos(Math.toRadians(lat)));
double longMax = lat + Math.toDegrees(radius/R);
double longMin = lat - Math.toDegrees(radius/R);

真正的答案是:credit to the real answerer