2 つの非同期アクションを同時に実行する関数を作成しようとしています。1 つは単純な AJAX リクエストで、2 つ目は Google マップ API からの getDistanceMatrix 用です。ポイントは、両方の関数からのデータを使用する単一のコールバック関数が必要だということです。私は JQUERY 関数 $.when() に精通していますが、Google API ではなく、2 つの AJAX 関数を扱う場合にしか使用できませんでした。これは、私が仕事をしようとしているコードです。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)
});
}
私の推測では、Google マップ API は値を返さないだけですが、複雑なパターンを含まないソリューションを見つけたいと考えています。
時間をありがとう、
ダニエル