I am calling function from ajax success and trying to return value from the function
ajax success is
  success: function(data)
  { 
    var distance_arr;    
    data = JSON.parse(data);
    for (var i = 0; i < data.length; i++) 
    { 
        if(data[i].port_name != destination)
        {
            distance_arr = get_port_distance(data[i].port_name,source,type);
            alert(distance_arr);
        }
    }
  }
In get_port_distance function I am returning value as
    return  distance; 
by calculating distance in get_port_distance function. When I alert distance in get_port_distance then it is correct but when I return it It alert blank in ajax success function
function get_port_distance(source,destination,type) 
{ 
    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    var request = 
    {
        origin: source,
        destination: destination,
        travelMode: google.maps.TravelMode.DRIVING
    };
        var service = new google.maps.DistanceMatrixService();
        service.getDistanceMatrix({
        origins: [source],
        destinations: [destination],
        travelMode: google.maps.TravelMode.DRIVING,
        unitSystem: google.maps.UnitSystem.METRIC,
        avoidHighways: false,
        avoidTolls: false
    }, function (response, status) {
    if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
        var port_distance = response.rows[0].elements[0].distance.text;
        port_distance = port_distance.replace(/\,/g,'').replace(' km',''); // To REMOVE comma(,)
        return  port_distance;
        } 
    });
}    
 
     
    