Вроде бы должно быть что-то наподобие (судя по примерам с ссылки "подробнее"):
addressToCoords('some string with location').then(alert(result));
Ведь алерт уже выводится после того, как выполнилась addressToCoords(), и, стало быть, result уже должна быть определена. Но увы, не так.