我想查询给定点半径 500 米内的所有可能的街道名称。多个帖子使用Haversine 公式或它的某个版本引用了谷歌商店定位器示例。但我也遇到了一些具有更简化解决方案的帖子。
他们只是通过添加 lat 和 long变量将这些点视为 x,y 坐标,如下所示。
如果这将是查询 mysql而又不会变得非常复杂并且仍然可以获得良好结果的最快方法,我正在徘徊。我还没有很多数据,所以我想知道我是否走在正确的轨道上。使用这种方法有什么缺点或不准确吗?
我不明白这怎么可能是一个半径范围,它看起来更像是一个单向查询?
Distance = 0.1; // Range in degrees (0.1 degrees is close to 11km)
LatN = lat + Distance;
LatS = lat - Distance;
LonE = lon + Distance;
LonW = lon - Distance;
...Query DB with something like the following:
SELECT *
FROM table_name
WHERE
(store_lat BETWEEN LatN AND LatS) AND
(store_lon BETWEEN LonE AND LonW)