我正在尝试创建一个同时执行两个异步操作的函数。一个是简单的 AJAX 请求,第二个是来自 google maps API 的 getDistanceMatrix。关键是我想要一个使用来自这两个函数的数据的回调函数。我对 JQUERY 函数 $.when() 很熟悉,但我只能在处理两个 AJAX 函数时使用它,而不能使用 google API。这是我试图开始工作的代码。a1 很好,但 a2 未定义。
function getLocation(){
var service = new google.maps.DistanceMatrixService()
var origin = new google.maps.LatLng(32.07989,34.813026);
var destination = new google.maps.LatLng(32.08989,34.813026);
return service.getDistanceMatrix({
origins: [origin],
destinations: [destination],
travelMode: google.maps.TravelMode.WALKING ,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
})
}
function getFriends(){
return $.ajax({
data: "&action=get_friends"
});
$.when( getLocation(),getFriends()).done(function(a2,a1){
alert(a1)
alert(a2)
});
}
我的猜测是谷歌地图 API 只是不返回任何值,但我想找到一个不涉及复杂模式的解决方案。
谢谢你的时间,
丹尼尔