【发布时间】:2013-04-16 02:53:29
【问题描述】:
我不确定获得我所追求的最佳方式,所以我将解释它的应用程序,并希望比我更聪明的人知道我需要什么。
我追求的东西与 www.Autotrader.co.uk 上的内容几乎相同,用户输入完整的邮政编码和该邮政编码的搜索区域(半径)(1 英里/10 英里/100 英里等),然后仅显示搜索区域内的结果。
我想知道这是如何实现的?
提前致谢
【问题讨论】:
标签: search mapping postal-code
我不确定获得我所追求的最佳方式,所以我将解释它的应用程序,并希望比我更聪明的人知道我需要什么。
我追求的东西与 www.Autotrader.co.uk 上的内容几乎相同,用户输入完整的邮政编码和该邮政编码的搜索区域(半径)(1 英里/10 英里/100 英里等),然后仅显示搜索区域内的结果。
我想知道这是如何实现的?
提前致谢
【问题讨论】:
标签: search mapping postal-code
按半径搜索...通过应用经度和纬度的偏移量来搜索更容易,例如经度和纬度的 +/- 0.00001。但是使用这种方法,搜索区域将是矩形。
Google Maps API 可以帮助您。
【讨论】:
在这里,我将描述一种实现目标的方法: 首先,我会得到每个用户的纬度和经度。您可以使用Google Geocode API。 在存储用户数据的表中添加纬度和经度两列。 然后,您可以计算用户之间的距离。这个post 描述了你是如何做到这一点的。
【讨论】:
首先需要将 Postcode 转换为地理信息,然后有很多方法可以计算两点之间的距离。所以基本上:
现在,如果您要在数据库中搜索以找出有多少相关点,例如 Autotrader。最好预先计算所有结果并在有新点出现时缓存它们。它将提供更快的服务并最大限度地减少服务器的负载。
【讨论】: