【发布时间】:2015-03-12 11:29:27
【问题描述】:
我在尝试解决 google GEOcode 半径搜索问题时遇到了一点困难。我的一切设置都很好并且可以正常工作:-
$this->db->select('*, ( 3959 * acos( cos( radians('.$lat.') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('.$lng.') ) + sin( radians('.$lat.') ) * sin( radians( lat ) ) ) ) AS distance');
这会在用户设置英里的半径范围内从数据库返回结果。
但是,一位用户在英国拥有多家商店,因此他们的主要商店位于曼彻斯特,并设置了 DB 'lat' 'lng'。然而,他们在伦敦有一家较小的商店。数据库中的这些字段是“storelat”“storelng”。但是,如果有人搜索 london,他们不会出现在结果中,因为显然它只会从 'lat' 和 'lng' 检索值。
我将如何查询数据库中多个 lat 和 lng 值的弧度?这可能是不可能的,但我正在尝试所有我能想到的方法,但最终会出现 MySQL 错误。
我们将不胜感激任何对正确方向的帮助或帮助。
非常感谢 J
【问题讨论】: