【问题标题】:Geocode Radius results multiple values in row地理编码半径在行中产生多个值
【发布时间】: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

【问题讨论】:

    标签: php mysql geocode


    【解决方案1】:

    您是否在同一个表中同时拥有 latstorelat 列?为什么?主存储和“较小”存储应该是同一个表中的不同行,并使用相同的 lat/lng 列对。

    【讨论】:

      猜你喜欢
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多