Геокодер API Карт Google принимает функцию, которая будет запускаться, когда адрес был геокодирован, но эта функция может вызываться асинхронно, то есть после того, как остальная часть вашего кода уже будет завершена.
В codeAddress вы вызываете геокодер и передаете функцию с этой строкой:
geocoder.geocode( {'address': address}, function(results, status)
Затем вы пытаетесь вернуть значение latLng из функции, переданной геокодеру, но это не то же самое, что возвращать значение изcodeAddress.Значение, которое вы возвращаете из этой функции, будет передано объекту геокодера, который просто проигнорирует его.
Вам нужно, чтобы функция, которую вы передали геокодеру, что-то делала с latLng.Например, замените:
return latLng;
на:
map.setCenter(latLng);
И карта должна центрироваться на геокодированном адресе, как только будет доступен результат.
(Для этого вам нужно сделать объект карты глобальным или иным образом сделать его доступным для codeAddress. Я предлагаю добавить «var map;» вверху вашего кода и удалить «var» из передиспользования карты в инициализации)