2013-04-16 125 views
0

我不确定获得我所追求的最佳方式,所以我只会解释它的应用,希望比我更聪明的人知道我需要什么。邮政编码搜索

我跟在www.Autotrader.co.uk上的东西几乎相同,用户从该邮政编码(1英里/ 10英里/ 100英里等)输入完整的邮政编码和搜索区域(半径),以及那么只显示搜索区域内的结果。

我想知道这是如何实现的?

在此先感谢

回答

0

搜索按半径..​​....这是比较容易通过应用经度和纬度,例如的偏移搜索经度和纬度的+/- 0.00001。但是采用这种方法,搜索区域将呈矩形。

Google Maps API可以为您提供帮助。

0

这里我将描述一种实现你的目标的方法: 首先,我会得到每个用户的经度和纬度。您可以使用Google Geocode API。 在存储用户数据的表格中添加两列经纬度。 然后,您可以计算用户之间的距离。这post描述你如何做到这一点。

0

首先,您需要将邮政编码转换为地理信息,然后有很多方法来计算两点之间的距离。所以基本上:

  1. 使用Google's Geocode API将邮政编码转换为经度和纬度。
  2. 计算两点之间的距离。你可以在UK Postcode找到一些信息。

现在,如果您要在数据库中搜索以找出像Autotrader这样的相关点。预先计算所有结果并在有新的点出现时缓存它们。它将提供更快的服务并最大限度地减少服务器的负载。