найти людей в пределах X миль от моего города - PullRequest
3 голосов
/ 05 апреля 2011

Я работаю над приложением для знакомств в PHP: в моем приложении есть страница поиска, которая ищет подходящие профили пользователей на определенном расстоянии от местоположения человека (необходимо указать количество миль / км для поиска).

Я понимаю логику, чтобы реализовать это (ref: Получить ближайшие места на Картах Google, используя пространственные данные MySQL ), просто не уверен, где я могу получить базу данных, которая хранит географическое положение каждого местоположения извокруг света.Это доступно бесплатно?Было бы интересно проверить премиум-версию, если таковая имеется.

Также обеспокоены скоростью поиска запросов.Поиск в такой огромной базе данных будет стоить некоторых накладных расходов, как лучше всего справиться с этим?

Любые предложения высоко ценятся.

С наилучшими пожеланиями, Seniel

1 Ответ

1 голос
/ 05 апреля 2011

Звучит очень просто ... вы спрашиваете у пользователя его адрес, а затем запрашиваете у google maps api долготу и широту, как это

http://maps.googleapis.com/maps/api/geocode/json?address=San+Stefano+1+Sofia&sensor=false

и записываете их в базу данных.

Когда пользователь ищет соседних людей

edit (не будет кругом, но он будет выполнять свою работу):

SELECT * FROM `users` AS u
WHERE u.lat IS BETWEEN {$my_lat-100} AND {$my_lat+100}
AND u.alt IS BETWEEN {$my_alt-100} AND {$my_lat+100}

как впост, который вы упомянули.

...