$query = Location::find()->select(['id', 'name'])->addSelect([
'distance' => "ST_DISTANCE(POINT(:latitude, :longitude), POINT(latitude, longitude))",
])->orderBy('distance')->params([
':latitude' => $targetLatitude, // 目标纬度
':longitude' => $targetLongitude, // 目标经度
]);
// 输出查询结果
foreach ($query->all() as $result) {
echo $result['id'] . ": " . $result['name'] . ", Distance: " . round($result['distance'], 2) . "\n";
}
yii2框架 mysql两个点的经纬度计算距离排序查询
最新推荐文章于 2025-11-24 02:17:16 发布
该代码片段展示了如何在PHP中利用数据库(可能是一个地理空间数据库)查询特定地点附近的地点,通过计算两点间的经纬度距离,然后按距离对结果进行排序。
2026






