经纬度,计算附近多少公里范围内的地点"/>
js 实现 给定经纬度,计算附近多少公里范围内的地点
最进做一个小程序,需求是查询附近相关信息,但是如何来判断附近是个问题!于是想到通过经纬度来判断附近。
思路: 通过当前经纬度给定附近N千米来计算最大最小经纬度。
代码如下:(当然代码不是自己造的,参考:)
/*** 附近位置最大最小经纬度计算 * @param longitude 经度* @param latitude 纬度* @param distince 距离(千米)* @returns 格式:经度最小值-经度最大值-纬度最小值-纬度最大值*/getMaxMinLongitudeLatitude(longitude,latitude,distince){console.log("MaxMinLongitudeLatitude",longitude,latitude);let r = 6371.393; // 地球半径千米let lng = longitude;let lat = latitude;let dlng = 2 * Math.asin(Math.sin(distince / (2 * r)) / Math.cos(lat * Math.PI / 180));dlng = dlng * 180 / Math.PI;// 角度转为弧度let dlat = distince / r;dlat = dlat * 180 / Math.PI;let minlat = lat - dlat;let maxlat = lat + dlat;let minlng = lng - dlng;let maxlng = lng + dlng;return minlng + "-" + maxlng + "-" + minlat + "-" + maxlat; },
已经简单明了了是吧!只要你稍微懂一点代码都能看得懂的。
更多推荐
js 实现 给定经纬度,计算附近多少公里范围内的地点
发布评论