对于经纬度范围的解释网上有许多,这里就不说了。直接上代码
最后配置
$latitude :纬度
$longitude : 经度
$list = $this
// 直接将经纬度的计算放到 field中执行
->field("(6378.138 * 2 * asin(sqrt(pow(sin((latitude * pi() / 180 - ".$latitude." * pi() / 180) / 2),2) + cos(latitude * pi() / 180) * cos(".$latitude." * pi() / 180) * pow(sin((longitude * pi() / 180 - ".$longitude." * pi() / 180) / 2),2))) * 1000) as distance")
->where($where)
->order( distance )
->paginate([ list_rows =>10, query => $param]);
如果你查询出来的距离范围不对的话,看看传值过来的经纬度是否写反了
希望以上代码对你们有所协助
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END




















暂无评论内容