在地圖應用程序中,我使用與以下類似的查詢在基於可視地圖區域的地圖上顯示標記。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