所以当用户请求当前位置x英里内的所有位置(由邮政编码给出)时,我希望能够显示位置列表(由邮政编码给出)。
有没有办法做到这一点:
答案 0 :(得分:0)
如果你有lat&在数据库中,您可以使用简单的查询来查找特定距离内的位置。
答案 1 :(得分:0)
一个非常非常简单的折衷解决方案:每度度纬度等于111.11 km距离。如果您要寻找相隔x英里的地方,纬度差必须小于x *(1.609 / 111.11)。因此,如果您从(LAT,LONG)开始,则所有用户必须具有LAT - x *(1.609 / 111.11)< = lat< = LAT + x *(1.609 / 111.11)。用于查询MySQL;如果你正在寻找50英里的距离,你将过滤掉很多候选人。
有更好但更复杂的解决方案。
您不需要MapKit。计算精确距离非常复杂,但对于小距离而不是非常精确,这是一种简单的方法。
每度纬度为111.111公里。每个度经度为111.111 * cos(纬度)km,其中余弦的角度以度为单位。从(LAT,LONG)到(lat,long)的距离约为
sqrt ((LAT - lat)^2 + ((LONG - long) * cos (LAT))^2)