我打电话从阿贾克斯成功职能工作,并试图从函数返回值返回未在JavaScript
阿贾克斯成功是
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);
}
}
}
在get_port_distance功能我返回值
return distance;
通过计算get_port_distance函数中的距离。当get_port_distance我警戒距离那么它是正确的,但是当我回到它它在阿贾克斯的成功提醒功能空白
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;
}
});
}
可以请你分享get_port_distance的代码。 – Sumit
您的循环条件可能会给您空白值。 ,当你从函数 – Afsar
得到距离值时,你可能想要打破循环如果你认为问题出现在'get_port_distance'函数中,你应该发布它 – RizkiDPrast