如何使用Google Maps API根据距离进行搜索?

时间:2010-03-17 20:16:05

标签: php google-maps google-maps-api-3 map geolocation

  1. 所以这就是问题...我有一个字段,用户可以输入他们的地址(通过谷歌地图API进行地理编码)。
  2. 我的数据库中有几个小部件地址(保存为地址..再次可以很容易地进行地理编码)。
  3. 我需要的是让用户输入他们的地址,并根据他们地址的距离输入我的小部件列表。我的小部件有数以万计的地址,用户显然拥有无限数量的地址。

    有什么想法吗?

    感谢。

4 个答案:

答案 0 :(得分:2)

如果要将项目存储在MySQL数据库中,则here's the basis what you need

答案 1 :(得分:2)

SELECT latitude, longitude, SQRT( POW( 69.1 * ( latitude - 52.58 ) , 2 ) + 
POW( 69.1 * ( - 1.12 - longitude ) * COS( latitude / 57.3 ) , 2 ) ) AS distance 
FROM location ORDER BY distance

Click Here 它们提供了几种计算距离的方法 - 选择最适合你的方法。

答案 2 :(得分:1)

你真的可以使用谷歌来计算你的地理距离过滤。要做到这一点,您必须向他们发送您的数据,让他们存储它,并为您查询。他们现在或将来都可以提供这项服务,但我还没有听说过。

为了更合法,更有能力,更昂贵:

A / As SINGLE 您感兴趣的点或位置由您网站的客户输入,收集地理协调员。然后使用您自己的搜索引擎,并按距离点搜索。可能违反了与谷歌的协议,但他们确实提到了“缓存”#39;结果是从他们的服务器上卸载负载。 (原因是我的个人猜测。)

B /使用谷歌进行批量地理编码,也许每次一次,每个网站的IP地址每天最多5000次,我看到。甚至不确定这是否违反了使用协议。

C /与地理编码服务公司签订合同,并存储他们为您提供地理编码的内容。

购买地理编码库并进行自己的地理编码。

答案 3 :(得分:0)

此博客文章"Calculate Distance using Google Maps API"可能会有所帮助。