Я был немного глуп, правда.Размышляя об этом, мы можем использовать теорему Пифагора.
У нас есть максимальное расстояние от точки (X миль), две широты и две долготы.Если мы сформируем треугольник, используя их, то мы сможем определить расстояние от точки.
Так, скажем, мы знаем point1
с координатами lat1,lng1
- центр круга и point2
с координатами lat2,lng2
это точка, которую мы пытаемся определить, находится в круге или нет.
Мы формируем прямоугольный треугольник, используя точку, определяемую point1
и point2
.Это, point3
будет иметь координаты lat1,lng2
или lat2,lng1
(не важно, какие).Затем мы рассчитываем разницу (или, если хотите) расстояний - latDiff = lat2-lat1
и lngDiff = lng2-lng1
, затем вычисляем расстояние от центра с помощью Пифагора - dist=sqrt(lngDiff^2+latDiff^2)
.
Мы должныПереведите все в метры так, чтобы это работало корректно с картами Google, чтобы мили умножались на 1609 (приблизительно), а градусы широты / долготы - на 111000 (приблизительно).Это не совсем точно, но это делает адекватную работу.
Надеюсь, что все имеет смысл.