当前位置: 首页 > 面试题库 >

Google Maps Geocoder从MySQL数据库中查找附近的地方

赵飞雨
2023-03-14
问题内容

我有一个网站,使用数据库提供的地址将位置存储在MySQL数据库和GeoCode中。

现在,我想添加一个功能,该功能将找到最接近指定点的位置,例如他们现在站立或输入的位置。我使用JavaScript和jQuery对地址解析器和Google地图进行编码,然后使用PHP从数据库中获取结果。

我读过有关的信息,viewport但是我无法弄清楚在需要显示自己的数据库位置而不是Google的数据库位置的情况下它将如何工作。

有人可以帮忙吗?如果您有这样的例子,那就太棒了。


问题答案:

半径搜索:

select *,
    acos(cos(centerLat * (PI()/180)) *
     cos(centerLon * (PI()/180)) *
     cos(lat * (PI()/180)) *
     cos(lon * (PI()/180))
     +
     cos(centerLat * (PI()/180)) *
     sin(centerLon * (PI()/180)) *
     cos(lat * (PI()/180)) *
     sin(lon * (PI()/180))
     +
     sin(centerLat * (PI()/180)) *
     sin(lat * (PI()/180))
    ) * 3959 as Dist
from TABLE_NAME
having Dist < radius
order by Dist

3959是以英里为单位的地球半径。将该值替换为以KM为单位的半径或任何单位,以在同一单位上获得结果。 centerLat
centerLon 是搜索(你输入)的中心,而纬度和经度是表中的字段。



 类似资料:
  • 问题内容: 我有一个表,该表的列包含各个位置的纬度和经度。 然后,我还会从浏览器中的地理位置获得一个用户位置。 我需要做的是从表中找到所有记录,其中的值在10 km半径(或X km半径)内,并按距离最近的顺序排序。 我的表在列上有一个索引。 问题答案: 我目前正在从事一个项目,该项目正在计算多个位置之间的距离。我正在使用以下查询来选择给定半径内的object_id。 我无法解释ACOS公式本身,因

  • 问题内容: 给定一个#,我如何发现可以在哪个表和列中找到它? 我不在乎它是否很快,它只需要工作即可。 问题答案: 这是来自上面链接的Stored Proc-我所做的唯一更改是用temp表替换了一个表变量,因此您不必记住每次都将其删除。

  • 问题内容: 有什么命令可以从所有数据库中找到某个表吗?因为我忘了桌子在哪里。谢谢。 问题答案: 使用特定于MySQL的: …或使用ANSI标准INFORMATION_SCHEMA.TABLES:

  • 问题内容: 对mongodb和golang来说是新手。我有一个名为“ myplace”的集合,它具有以下字段place_name,city,纬度,经度。我的问题是用户在某个地方并搜索附近的地方。如何查询mongodb以按位置查找附近。也在golang中。 我的文档结构 提前致谢 问题答案: 您好,对于您的情况,我认为您应该将doc改为 之后,将上述文件索引如下 如果索引执行正确,则编写以下查询以查

  • 未配置计费帐户。外部网络无法访问,配额受到严重限制。配置计费帐户以删除这些限制 函数执行时间为60002 ms,结束时状态为'timeout'

  • 问题内容: 我想查找并替换整个数据库,而不仅仅是一个表。 我该如何更改以下脚本才能工作? 我只使用星号吗? 问题答案: sqldump到文本文件,查找/替换,重新导入sqldump。 将数据库转储到文本文件 对其进行更改后,还原数据库。