Хотите рассчитать радиус от одной позиции
Я хочу знать, как запустить мой радиус-фильтр для места размещения. Например, я хочу знать поля, которые мне нужны в моей базе данных, и данные, которые мне понадобятся для определения радиуса. Я хочу, чтобы этот радиус-фильтр был реализован на моей странице поиска при поиске жилья. Я предполагаю, что мне понадобятся координаты сетки, долгота и широта. Затем реализуйте теорему Пифагора, чтобы фактически рассчитать расстояние от одной позиции до разных почтовых индексов.
1 ответ
Вам просто потребуются Долгота и Широта местоположения в вашей базе данных, затем вам нужно будет передать свои координаты в SQL-запрос для вычисления расстояния, затем его можно отсортировать по расстоянию, и вы можете выбрать отображение ближайшего x количество результатов.
Примерно так должно быть хорошей отправной точкой для вашего запроса SQL.
$qry = "SELECT *,(((acos(sin((".$latitude."*pi()/180)) * sin((`Latitude`*pi()/180))+cos((".$latitude."*pi()/180)) * cos((`Latitude`*pi()/180)) * cos(((".$longitude."- `Longitude`)*pi()/180))))*180/pi())*60*1.1515) as distance
FROM `MyTable` WHERE distance >= ".$distance."
Затем вы можете добавить расстояние ORDER BY, если необходимо, и LIMIT.