我需要的是让用户输入他们的地址,并根据他们地址的距离输入我的小部件列表。我的小部件有数以万计的地址,用户显然拥有无限数量的地址。
有什么想法吗?
感谢。
答案 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"可能会有所帮助。