我正在为我的网站开发搜索功能。它有一个使用哈弗公式的带半径的按位置搜索过滤器。以下是我在本教程中提出的问题:
SELECT id,
( 3959 * Acos(Cos(Radians(37)) * Cos(Radians(lat)) * Cos(
Radians(lng) - Radians(-122)) +
Sin(
Radians(37)) * Sin(Radians(lat))) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance
LIMIT 0, 20;
如果我进入一个小的区域,例如“澳大利亚新南威尔士州邦迪路口”,这是可行的,但如果我进入一个大的区域,如“新南威尔士州,澳大利亚”,这是一个州,它不起作用。我用这个公式计算了它的大圆距离,它离它下面的小区域的大圆距离非常远。有其他的公式/算法吗?或者我只是错过了什么?
暂无答案!
目前还没有任何答案,快来回答吧!