Как сделать на сайте поиск по товарам с учетом геолокации?

Есть интернет площадка на php+mysql для продавцов и покупателей. В базе у продавцов есть поля с их городом. На сайте есть ползунок для выбора 100км, 200км,300км и т.д.
Необходимо, используя геолокацию, сделать поиск по товарам, чтобы пользователю показывались товары тех продавцов, кто находится не далее указанного ползунком расстояния.
P.S. Поиск самописный, при необходимости могу использовать другой, сайт залит на хостинг, который sphinx не поддерживает, а так же не поддерживает еще кучу других аналогичных поисков.
  • Вопрос задан
  • 258 просмотров
Решения вопроса 2
@zolotykh
web-разработчик
Комментировать
@MadridianFox
Web-программист, многостаночник
В некоторых СУБД есть функция для расчёта расстояния на сфере по координатам.
Соответственно необходимо для каждого города продавца знать координаты - широту и долготу, а так же определять координаты пользователя.
Запрос в таком случае будет выглядеть примерно так:
select * from table where geo_length(table.x, table.y, '<x пользователя>', 'y пользователя') < 100

Название функции зависит от СУБД.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы