欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

JAVA根據(jù)經(jīng)緯度和距離計算出經(jīng)緯度范圍

方一強1年前7瀏覽0評論

在JAVA中,經(jīng)緯度計算是比較常見的問題之一。計算兩個經(jīng)緯度之間的距離,可以采用哈弗曼公式,計算公式如下:

distance = 2 * R * arcsin(sqrt(sin((lat2-lat1)/2)^2 + cos(lat1) * cos(lat2) * sin((lng2-lng1)/2)^2))

其中 R 為地球半徑,可取常數(shù) 6371km;lng 為經(jīng)度,lat 為緯度。

根據(jù)經(jīng)緯度和距離計算出經(jīng)緯度范圍,可以采用以下方法:

public static MapgetRange(Double lat, Double lng, Double distance) {
Mapmap = new HashMap();
// 一度(degree)約等于 111 千米
Double dLng = 2 * Math.asin(Math.sin(distance / (2 * R)) / Math.cos(Math.toRadians(lat)));
Double dLat = distance / R;
Double minLng = lng - Math.toDegrees(dLng);
Double maxLng = lng + Math.toDegrees(dLng);
Double minLat = lat - Math.toDegrees(dLat);
Double maxLat = lat + Math.toDegrees(dLat);
map.put("minLat", minLat);
map.put("maxLat", maxLat);
map.put("minLng", minLng);
map.put("maxLng", maxLng);
return map;
}

其中,lat 為要計算的經(jīng)度,lng 為要計算的緯度,distance 為要計算的距離。

通過以上方法,我們可以方便地根據(jù)經(jīng)緯度和距離計算出經(jīng)緯度范圍,進一步進行位置搜索等操作。