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----------
|
*/
|