如何检查位置是不是在给定范围内?

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 开始。当您获取数据时,您会向用户发送通知

【讨论】:

以上是关于如何检查位置是不是在给定范围内?的主要内容,如果未能解决你的问题,请参考以下文章

找到给定半径内的附近位置

哪个是检查用户位置(android 应用程序)是不是在多边形内的更好方法

如何检查位置是不是在我的圈子区域内?

检查输入到文本字段的值是不是是给定范围内的整数

如何检查一个整数是不是在 PHP 中的数字范围内?

给定两个纬度/经度,我如何判断它们是不是在 1 英里范围内?