如何检查位置是不是在给定范围内?
Posted
技术标签:
【中文标题】如何检查位置是不是在给定范围内?【英文标题】:How check a location is in a given range or not?如何检查位置是否在给定范围内? 【发布时间】:2020-12-07 11:58:38 【问题描述】:我有一个网站,我在数据库中存储我公司的位置(经度和纬度),并且我想在我公司的员工进入给定范围内时发出警报消息(或任何类型的响应)( 500m) 公司所在地。
任何人都可以帮我或我一些想法如何做到这一点。
如果可以在没有任何第三方软件包的情况下使用会更有帮助。
谢谢。
【问题讨论】:
你检查了吗? ***.com/questions/42821816/… 【参考方案1】:试试这个在地理位置范围内查询
DB::select(DB::raw("select * from (SELECT *, 6371
* ACOS(COS(RADIANS(" . $lat . "))
* COS(RADIANS(table_name.lat))
* COS(RADIANS(table_name.lon)
- RADIANS(" . $lon . "))
+ SIN(RADIANS(" . $lat . "))
* SIN(RADIANS(table_name.lat))) AS distance
FROM table WHERE status = 1 ) t where distance < 500"))
在查询上方添加了自定义条件,例如状态 = 1 和范围 从 500 开始。当您获取数据时,您会向用户发送通知
【讨论】:
以上是关于如何检查位置是不是在给定范围内?的主要内容,如果未能解决你的问题,请参考以下文章