I hope you can help. Ive made a function that receives a lnglat point object and returns just the town. I can get it to print the correct town in the console.log but it doesnt return the data back from the function.
I know its going to be a basic error but can someone have a look at the code and let me know please.
Thanks in advance.
function getTownFromPoint(point){
    var geocoder ;
    var geocoder = new google.maps.Geocoder();
    var townset = false;
    mylocation = "";
    geocoder.geocode({latLng: point}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            if (results[0]) {
                var components=results[0].address_components;
                for (var component=0;component<(components.length);component++){
                    if(components[component].types[0]=="country" & !townset){
                        mylocation = components[component].long_name;
                    }
                    if(components[component].types[0]=="postal_code" & !townset){
                        mylocation = components[component].long_name;
                    }
                    if(components[component].types[0]=="locality"){
                        mylocation = components[component].long_name;
                        townset = true;
                        console.log(mylocation);
                    }
                }
            }
        }
    });
    return(mylocation);
}
 
     
     
     
    