Выдача результата по радиусу города(индекса) как сделать?

casinolot

Гуру форума
Регистрация
21 Окт 2010
Сообщения
547
Реакции
87
Вот встала задача.
Есть список исполнителей в базе с адрессами. Город Улица.
Пользователь задает свой индекс или город и радиус поиска, нужно вывести только исполнителей в радиусе.Как реализуется кто подскажет.
Видел на многих сайтах типа mobile.de нужно аналогичное реализовать.
Пока курю
Скрытое содержимое доступно для зарегистрированных пользователей!
 
  • Заблокирован
  • #2
Как предположение.
Наверное нужно плясать от карты, вернее от координат.
Каждому исполнителю присваиваются координаты.
Юзер задает свою улицу и координатам присваиваются переменные.
К каждой переменной прибавляются (километры), т.е. минуты' и секунды". и в радиусе (возможно формулы надо будет прикручивать) выводятся все исполнители которые входят в диапазон координат
 
Я нашел что координаты можно брать из maps.google.com не подскажете как?
 
  • Заблокирован
  • #4
Заведите 3 дополнительных поля для адреса, чтобы хранить координаты или выдёргивайте их откуда-нить и потом считайте по формуле радиус:
Отправная точка (x1,x2,x3) и замеряемая точка (y1,y2,y3)
расстояние между ними R = sqrt((y1-x1)^2+(y2-x2)^2+(y3-x3)^2)

Вроде как-то так.
 
Назад
Сверху