Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查找距离给定地址最近的位置_Php_Mysql_Cakephp_Geolocation_Distance - Fatal编程技术网

Php 查找距离给定地址最近的位置

Php 查找距离给定地址最近的位置,php,mysql,cakephp,geolocation,distance,Php,Mysql,Cakephp,Geolocation,Distance,我已经用CakePHP构建了一个列出业务的应用程序。大约有2000个条目,每个业务的纬度和经度坐标都在DB中。 我现在尝试处理搜索功能 将有一个输入框,用户可以把一个街道地址,城市,或zipcode,然后我希望它返回11个最近的企业从数据库中找到 我该怎么做呢?我会通过在点周围创建一个正方形来实现这一点,要得到点本身就是一件大事,因为你需要一个邮政编码数据库,或者api,这往往需要花钱。无论是购买数据库还是每次查找 按城市或类似的城市做,你可能,不确定,返回该城市GMaps的长lat 然后我会试

我已经用CakePHP构建了一个列出业务的应用程序。大约有2000个条目,每个业务的纬度和经度坐标都在DB中。
我现在尝试处理搜索功能

将有一个输入框,用户可以把一个街道地址,城市,或zipcode,然后我希望它返回11个最近的企业从数据库中找到


我该怎么做呢?

我会通过在点周围创建一个正方形来实现这一点,要得到点本身就是一件大事,因为你需要一个邮政编码数据库,或者api,这往往需要花钱。无论是购买数据库还是每次查找

按城市或类似的城市做,你可能,不确定,返回该城市GMaps的长lat

然后我会试着在那个点附近找到4个拐角处的朗格拉特坐标。然后我可以在数据库中搜索介于这些值之间的值


不管怎样,这都是一件棘手的事情,我要说的是,这是一个很好的问题!有兴趣查看人们的建议。

我使用来识别与用户输入的搜索词相对应的位置。这通常会匹配多个位置,因此您必须将它们呈现给用户,让他们选择正确的位置。然后,一旦您知道了正确的位置,并且是Yahoo API提供的lat longs,您就可以使用来获取离用户位置最近的企业。答案中有一个很好的例子。

(相关)(相关)这真的很有帮助,更接近我想要的,谢谢!美国人口普查数据可用于生成人口加权长纬度vs邮政编码数据库。我过去用过这些数据。如果你到处搜索,你会发现一个很长的lat vs.zip代码数据库是免费的。然后,找到所有的邮政编码,都在一个正方形内,靠近一个问题是一个非常快速和容易得到一个非常好的接近查找。