我有一个地方的桌子,在这里,每条记录都有该地方的纬度和经度。
现在我想根据给定的经纬度从地方表中找到附近的地方(10公里以内)。
我的数据库表中有500多个地点的记录。
当前我正在使用mysql查询相同的内容:
SELECT FROM provider_venues WHERE IFNULL( ( 111.111 (
DEGREES(ACOS(COS(RADIANS(26.2743661)) COS(RADIANS(venue_lat))
COS(RADIANS(73.02130979999993 - venue_long)) +
SIN(RADIANS(26.2743661)) * SIN(RADIANS(venue_lat))))) ), 0) <= 10
但是我从上述查询中获得的距离与我从Google API中获得的距离不同。
我可以为此使用google API,但为每条记录使用google API可能不是一个好方法。
有没有办法以更优化的方式使用Google API或任何其他解决方案来更快地获得预期结果?