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

Тема в разделе "PHP", создана пользователем casinolot, 30 янв 2012.

Модераторы: latteo
  1. casinolot

    casinolot

    Регистр.:
    22 окт 2010
    Сообщения:
    548
    Симпатии:
    84
    Вот встала задача.
    Есть список исполнителей в базе с адрессами. Город Улица.
    Пользователь задает свой индекс или город и радиус поиска, нужно вывести только исполнителей в радиусе.Как реализуется кто подскажет.
    Видел на многих сайтах типа mobile.de нужно аналогичное реализовать.
    Пока курю
     
  2. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.265
    Как предположение.
    Наверное нужно плясать от карты, вернее от координат.
    Каждому исполнителю присваиваются координаты.
    Юзер задает свою улицу и координатам присваиваются переменные.
    К каждой переменной прибавляются (километры), т.е. минуты' и секунды". и в радиусе (возможно формулы надо будет прикручивать) выводятся все исполнители которые входят в диапазон координат
     
  3. casinolot

    casinolot

    Регистр.:
    22 окт 2010
    Сообщения:
    548
    Симпатии:
    84
    Я нашел что координаты можно брать из maps.google.com не подскажете как?
     
  4. Дмитрий Кесаев

    Дмитрий Кесаев aka Zlobniy Babko

    Заблокирован
    Регистр.:
    10 май 2007
    Сообщения:
    1.332
    Симпатии:
    1.265
  5. Arqin

    Arqin

    Регистр.:
    17 мар 2009
    Сообщения:
    185
    Симпатии:
    37
    Заведите 3 дополнительных поля для адреса, чтобы хранить координаты или выдёргивайте их откуда-нить и потом считайте по формуле радиус:
    Отправная точка (x1,x2,x3) и замеряемая точка (y1,y2,y3)
    расстояние между ними R = sqrt((y1-x1)^2+(y2-x2)^2+(y3-x3)^2)

    Вроде как-то так.