我在尝试使用Google GEOcode radius search解决问题时遇到了一些困难。我把一切都设置得很好并且正常工作: -
$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在用户设置里程的半径范围内的结果。
然而,一位用户在英国拥有多家商店,因此他们的主要商店位于曼彻斯特,其中包括DB' lat' ' LNG'组。然而,他们在伦敦的商店较小。数据库中的这些字段是' storelat' ' storelng&#39 ;.但是,如果有人搜索到伦敦,他们就不会出现在结果中,因为很明显它只会从' lat'中检索值。和' lng'。
如何查询数据库中多个lat和lng值的弧度?它可能是不可能的,但我正在尝试我能想到的最终只是MySQL错误。
非常感谢任何帮助或正确方向的踢法。
非常感谢 Ĵ
答案 0 :(得分:0)
同一个表中是否包含lat
和storelat
列?为什么?主存储和“较小”存储应该是同一个表中的单独行,并使用相同的lat / lng对列。