【问题标题】:Google Geo Location and Radius谷歌地理位置和半径
【发布时间】:2023-03-31 10:57:02
【问题描述】:

我目前有一个搜索字段,用户可以在其中搜索邮政编码、城镇或县的房产。

我从 Google Places 获取地理位置以进行半径搜索。

但是。如果我在一个县搜索或所有属性,并且地理位置(经纬度)位于该县的中心,并且该县的半径为 200 英里,我将最大半径设置为 1 英里。这将如何运作?

我希望最终结果包括 1 英里半径内到所需县的所有边界的县。

所以我的问题是,使用 Google 地方;如何在一个大镇或县的半径范围内进行搜索?

我希望这是有道理的。

【问题讨论】:

  • 对不起,你是用mysql来存储lat,lon吗?如果是,那么我的回答会对你有所帮助

标签: php google-maps


【解决方案1】:

使用这个会有所帮助

$query1 = "SELECT 3956*2*SIN(SQRT(POWER(SIN((".$latitude." - latitude)*pi()/180/2),2)+    COS(".$latitude."*pi()/180)*COS(latitude*pi()/180)*POWER(SIN((".$longitude." - longitude)* pi()/180/2),2))) as distance FROM tbl_babble HAVING distance < ".$radius." "

将半径应用于$radius 变量并将获得的latitudelongitude 设置为相应的变量。

编辑

更多参考请通过link

希望这会有所帮助...

【讨论】:

  • 感谢您的评论,但它并没有解决问题。让我解释。城镇边界以东的经度和纬度值与中心或西部边界的经度和纬度值不同。
  • 我能想到的唯一解决办法是拥有 12 个地理位置(想象一个钟面,每个数字代表一个点)但是如何从一个中心点获得 12 个地理位置?
  • 以你的钟面为例:首先尝试在增量循环中使用给定的查询,每次添加 +1 半径,当你得到所有 12 点时,然后中断循环。如果您仍有困惑,请告诉我
  • 如何自动填充 12 个点。如果我搜索让我们说伦敦;我希望这 12 个点自动填充伦敦的地理位置边界,然后如果我搜索曼彻斯特,那么同样的情况会发生,依此类推
  • 恐怕谷歌没有提供像我搜索纽约那样的功能,然后它会自动决定纽约的边界并在该半径范围内过滤您的数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-15
  • 2012-08-02
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 2019-05-24
相关资源
最近更新 更多