Поиск ближайшего города, например oodle.com

Итак, я пытаюсь разработать приложение, которое будет отображать списки пользователей. Сайт должен определить местоположение пользователя (для этого я использую maxmind api), а затем показывать списки из местоположения пользователя + города в пределах заданного пользователем радиуса.

Как мне это сделать? MaxMind API позволяет мне определять город пользователя по IP-адресу, но как найти близлежащие города?

Справочный сайт: www.oodle.com (вы также можете вручную изменить радиус города +).

жизнерадостный

Вместо того, чтобы хранить и сравнивать города, хранить и сравнивать широты и долготы, которые являются конкретными местами, а не неоднозначными именами. Они предоставляют все базы данных GeoIP от MaxMind. Быстрый поиск Google должен предоставить вам математику для расчета расстояний между точками на земле.

Если вы действительно хотите найти близлежащие города, а не близкие пользователи, как вы сказали, вам нужна база данных, сопоставляющая города с местоположениями. Опять же, MaxMind предоставляет все свои базы данных. Перейдите на их сайт, перейдите на страницу о приобретенной или загруженной базе данных и ознакомьтесь с инструкциями по вставке формата CSV в базу данных SQL. Это даст вам широту и долготу каждого города. Затем, опять же, поиск Google предоставит вам математику для вычисления расстояния между двумя точками на земле (пары lat / long) в SQL-запросе. Закажите этот расчет, чтобы получить ближайшие города.

Извините, что вы даете только советы, а не код, но есть много мелочей, которые вы должны сделать сами, чтобы создать этот сайт.