Полное название города в США: {country_name, state_name, city_name}.Я говорю, что при условии, что в глобальном масштабе то, что я называю state_name, не является уникальным.Я легко могу представить, что какой-то регион латиноамериканской страны называют «Невада» или «Колорадо».
У вас также есть проблема правописания.Американка, живущая в Германии, может сказать, что она жила в Кельне, Северный Рейн-Вестфалия, Германия.Проживающий там немец назвал бы его «Кельн».
«Рядом» - еще более крепкий орешек.Я жил в большом городе.Это не было необычным, чтобы ехать час по шоссе между штатами, чтобы забрать мое свидание.Я думал об этом как "рядом".Сейчас я живу в маленьком городе.Сейчас 30 минут - это долгий путь, но это, вероятно, всего 15 или 20 миль вместо 65 или 70.
Если вы живете в приграничном городе, 15 миль могут быть в другой стране.Возможно, две разные страны.
Я думаю, что вам лучше всего использовать API геолокации или сервис, чтобы получить широту и долготу новых городов, когда они будут вставлены.Вычисление расстояния по двум точкам является простым, но оно приводит к плохо выполняемым запросам, если вы не используете ограничивающий прямоугольник.(Вы не хотите рассчитывать расстояние до каждого города в Техасе, чтобы найти людей «возле» Вако.)