package cn.huge.base.common.utils; import cn.huge.base.common.bo.LngLatBO; /** * Created by apple on 2019/4/25. */ public class PositionUitls { /** * 计算点的一定范围内的经纬度 * @param longitude * @param latitude * @return */ public static LngLatBO getLngLatRange(double longitude, double latitude, double distance){ LngLatBO lngLatRange = new LngLatBO(); //地球半径千米 double r = 6371; double dlng = 2 * Math.asin(Math.sin(distance / (2 * r)) / Math.cos(latitude * Math.PI / 180)); //角度转为弧度 dlng = dlng * 180 / Math.PI; double dlat = distance / r; dlat = dlat * 180 / Math.PI; double minLng = longitude - dlng; lngLatRange.setMinLng(minLng); double maxLng = longitude + dlng; lngLatRange.setMaxLng(maxLng); double minLat = latitude - dlat; lngLatRange.setMinLat(minLat); double maxLat = latitude + dlat; lngLatRange.setMaxLat(maxLat); return lngLatRange; } } /** * -------------------_ooOoo_------------------- * ------------------o8888888o------------------ * ------------------88" . "88------------------ * ------------------(| -_- |)------------------ * ------------------O\ = /O------------------ * ---------------____/`---'\____--------------- * -------------.' \\| |// `.------------- * ------------/ \\||| : |||// \------------ * -----------/ _||||| -:- |||||- \----------- * -----------| | \\\ - /// | |----------- * -----------| \_| ''\---/'' | |----------- * -----------\ .-\__ `-` ___/-. /----------- * ---------___`. .' /--.--\ `. . __---------- * ------."" '< `.___\_<|>_/___.' >'"".------- * -----| | : `- \`.;`\ _ /`;.`/ - ` : | |----- * -----\ \ `-. \_ __\ /__ _/ .-` / /----- * ======`-.____`-.___\_____/___.-`____.-'====== * -------------------`=---=' * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * ---------佛祖保佑---hugeinfo---永无BUG---------- */