2013-09-23 59 views
1

我目前有一个搜索字段,用户可以搜索邮政编码,城镇或县的属性。Google地理位置和半径

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

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

最终结果我想包括在所需县的所有边界1英里半径范围内的县。

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

我希望这是有道理的。

+0

对不起你使用MySQL来存储纬度,经度?如果是,那么我的答案将帮助你 –

回答

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 vadiable并获得latitudelongitude到根据变量集。

编辑

更多参考通过这个link

希望这有助于...

+0

感谢您的评论,但它dosnt解决这个问题。让我解释。城镇边界以东的长和拉特值将与长和拉特到中心或西边界不同。 – Tom

+0

我能想到的唯一解决方案是拥有12个地理位置(想象一个钟面,每个数字代表点),但是如何从中心点获取12个地理位置? – Tom

+0

考虑你的时钟面例子:首先尝试在增量循环中给定的查询,并且每次增加+1半径并且当你得到你的全部12个点时,然后中断循环。让我知道如果你仍然困惑 –