我需要根据站点成员自己的位置以及自定义的半径距离集来计算经度和纬度。目前我正在使用这个公式/代码:
$R = 3960; // earth's mean radius
$rad = '100';
// first-cut bounding box (in degrees)
$max_lat = $yourlat + rad2deg($rad/$R);
$min_lat = $yourlat - rad2deg($rad/$R);
// compensate for degrees longitude getting smaller with increasing latitude
$max_lon = $yourlon + rad2deg($rad/$R/cos(deg2rad($yourlat)));
$min_lon = $yourlon - rad2deg($rad/$R/cos(deg2rad($yourlat)));
$max_lat=number_format((float)$max_lat, 6, '.', '');
$min_lat=number_format((float)$min_lat, 6, '.', '');
$max_lon=number_format((float)$max_lon, 6, '.', '');
$min_lon=number_format((float)$min_lon, 6, '.', '');
$searchterm = "WHERE lon <= '$max_lon' AND lat <= '$max_lat'";
它似乎对 100 美元的 rad 有效,但如果我改变这一切都完全错了,有人可以帮我解决这个问题吗?