在地图应用程序中,我使用与以下类似的查询在基于可视地图区域的地图上显示标记。MySQL Lat/Lng结果均匀分布的边界
SELECT * FROM (`properties`)
WHERE `lat` > '-11.824448' AND `lat` < '84.124002' AND
`lng` > '-152.243398' AND `lng` < '-39.743398'
LIMIT 20;
由于此导致的结果通常出现在同一纬度,并出现在地图的角落线表中的索引。机智的地图的其余部分是空的。
鉴于我无法在服务器负载,带宽和加载时间显示地图上的所有结果,有没有办法在整个地图区域内拉回结果?
我想我可以通过计算x的比例距离并告诉mysql返回结果,其中没有结果在另一个x距离内的结果。
其他人怎么做到的?
您是否打算从视口区域挑选20个随机属性? – 2010-06-27 06:34:30
是的,程序员错误#1,并试图变得复杂 – PJT 2010-06-27 06:47:39