Я думаю, можно с уверенностью предположить, что ближайший город всегда достаточно близок по сравнению с размером Земли, поэтому вы можете использовать простой треугольник Пифагора.
Предположим, вы находитесь в точке (lat0, long0), а пробный город в точке (lat1, long1).
Горизонтальное (EW) расстояние примерно
d_ew = (long1 - long0) * cos(lat0)
Это умножается на cos (lat0) для учета линий долготы, сближающихся на высокой широте.
Вертикальное (NS) расстояние легче
d_ns = (lat1 - lat0)
Таким образом, расстояние между двумя точками равно
d = sqrt(d_ew * d_ew + d_ns * d_ns)
Вы можете усовершенствовать этот метод для более сложных задач, но этого должно быть достаточно для ближайшего города.
Для сравнения расстояний будет хорошо сравнить d в квадрате, что означает, что вы можете опустить операцию sqrt.