Como recuperar o resultado de uma função. Pliss

Boa tarde galera, bom domingo a todos.
Bem, como principiante em javascript tenho uma duvida que com certeza vai ser simples pra vocês (pelo menos espero kk).
Bom, eu tenho uma função JS que utiliza a API do google maps para converter endereço em coordenadas, a função está funcionando perfeitamente bem.
Mas eu não consigo setar o valor da função em uma variavel global,(também não sei como usar o return, e colocar o valor dele em uma variavel).

Basicamente eu tenho esta função que está funcionando perfeitamente.
var cord;
function searchAddress(local) {

var geocoder = new google.maps.Geocoder();

geocoder.geocode({address: local}, function(results, status) {

	if (status == google.maps.GeocoderStatus.OK) {

  var myResult = results[0].geometry.location;
        
        
         cord = myResult;
        
        

	}
});

Eu tenho um botão que quando clicado deveria exibir o valor do meu myResult (ou da minha variavel global).
searchAddress(local);

        alert(cord);

Obs: o parametro local foi definido tudo certinho.

Só que quando eu clico a primeira vez no botão para dar o alert(cord); a variavel global cord aparece como indefinida, quando eu clico pela segunda vez no botão, ela faz tudo certinho e me manda o valor de cord no caso as cordenadas da função searchAddress();

Eu queria que na primeira vez que eu clicasse a função ja me retornasse o valor de cord. Sem precisar de clicar outra vez no botão.

E já aproveitando e não abusando da boa vontade de vocês, mas já abusando.

Quero saber como consigo colocar o valor de return em uma variavel.

Agradeço a todos que me ajudarem.

Tchau Brigado!