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