Я бы подошел к этому, создав квадрат вокруг точки, чтобы получить точку - это все в себе, поскольку вам понадобится база данных почтовых индексов или API, которые, как правило, стоят денег. Либо при покупке базы данных, либо за поиск.
Делая это по городам или по крайней мере, по крайней мере, вы, возможно, не уверены, что вернете лонг-лат из GMaps для этого города.
Тогда я бы попытался получить 4 угловых длинных координаты вокруг этой точки. Тогда я мог бы искать в базе данных значения, которые находятся между ними.
В любом случае, я бы сказал, что это непросто, просто потрясающий вопрос! Заинтересованы в предложениях людей.