我正在尝试编写一些代码来搜索地图上的给定点,但在给定的罗盘方位弧中。
例如 45 度(东北),两边各 20 度。
到目前为止,我有一个 SQL 命令,它会给我一个给定半径的结果,需要一些帮助来了解如何将它过滤到一个方向。
SELECT * FROM (SELECT `place1_id`, `place2_id`, ( 6371 * acos( cos( radians(search_latitude) ) * cos( radians( `location_lat` ) ) * cos( radians( `location_long` ) - radians(search_longitude) ) + sin( radians(search_latitude) ) * sin( radians( `location_lat` ) ) ) ) AS `distance` FROM `place` ORDER BY distance) AS `places` WHERE `places`.`distance` < search_radius AND `places`.`place2_id` = ?
我是否能够在 SQL 中执行此操作(如果可能),还是需要一些 PHP 应用到它?
非常感谢任何和所有帮助!