我正在用 PHP 做一个项目。我有一个带有LAT
和LONG
字段的餐厅表。我想获得10家餐厅(带有特定的 ),它们的距离cuisine_id
小于5 公里USER
。我正在使用以下函数来计算距离:
// Function for Getting distance between two coordinates.
function getDistance( $latitude1, $longitude1, $latitude2, $longitude2 ) {
$earth_radius = 6371;
$dLat = deg2rad( $latitude2 - $latitude1 );
$dLon = deg2rad( $longitude2 - $longitude1 );
$a = sin($dLat/2) * sin($dLat/2) + cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * sin($dLon/2) * sin($dLon/2);
$c = 2 * asin(sqrt($a));
$d = $earth_radius * $c;
return $d;
}
从数据库中选择记录时是否可以使用该功能?
有人可以告诉我一个示例查询,用于一次性获取(LIMIT
使用价值)距离为5 公里或更短(用户LAT
且LONG
可用)的餐厅(如果可能,使用上述getDistance
功能)。