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;
}
});
}