可以使用以下公式计算2点之间的距离:
6371*acos(cos(LatitudeA)*cos(LatitudeB)*cos(longitudeB-longitudeA)+sin(LatitudeA)*sin(latitudeB))
Run Code Online (Sandbox Code Playgroud)
当然这是Km中的"乌鸦飞行"近似值.
可以通过以下方式翻译成php:
$longA = 2.3458*(M_PI/180); // M_PI is a php constant
$latA = 48.8608*(M_PI/180);
$longB = 5.0356*(M_PI/180);
$latB = 47.3225*(M_PI/180);
$subBA = bcsub ($longB, $longA, 20);
$cosLatA = cos($latA);
$cosLatB = cos($latB);
$sinLatA = sin($latA);
$sinLatB = sin($latB);
$distance = 6371*acos($cosLatA*$cosLatB*cos($subBA)+$sinLatA*$sinLatB);
echo $distance ;
Run Code Online (Sandbox Code Playgroud)
通过它,您可以计算两个点(人)之间的距离,当然还可以确定一个点是否在另一个点的半径内.