我有许多用户使用他们的lat,长在使用mongodb的节点js服务器中。
现在我要进入一个说纽约的地方。它将通过地理编码api转换为lat lng,并在半径10英里范围内搜索。现在我想找出哪个用户在该区域内匹配。我该怎么做这部分?
抱歉英文不好。
答案 0 :(得分:0)
我假设您通过地理编码获得了纽约的位置。由于您拥有用户的坐标,您基本上可以通过简单的几何和数学技能将这些位置与纽约的位置进行比较。
让userLat
为用户的纬度,userLng
为经度用户。此外,yorkLat
和yorkLng
是纽约的坐标。您基本上可以设置以下等式:
locationDiff = Math.sqrt(Math.pow(yorkLng - userLng, 2) + Math.pow(yorkLat - userLat, 2)
//You could modify inside the if condition to make sure they both have the same unit
if(locationDiff <= 100000){
//This user is within the circle whose center is New York location and radius you provided
}