私の問題は、配列をループして各項目に関する JSON データを取得し、データを入力したいということです。最初の応答が受信される前に各「n」を循環するため、以下の方法が機能しないことはわかっています。
私にとって意味のあることは、コールバック関数でリクエストを再度呼び出すことです。したがって、最初の応答が受信された後、2 番目の応答を取得するために呼び出しが行われます...など。
このようなことをどのように行うかについて、誰かが私を助けることができますか? 最終的な目標は、各配列項目に適切な応答を設定することです。私はプログラミングが初めてなので、これは私にとって少し複雑です。
function getDistance() {
for (n in addresses()) {
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
{
origins: [clientLocation()],
destinations: [addresses()[n].position()],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.IMPERIAL,
avoidHighways: false,
avoidTolls: false
}, callbackFunction);
}
function callbackFunction (response, status) {
addresses()[n].distanceText(response.rows[0].elements[0].distance.text)
addresses()[n].distanceValue(response.rows[0].elements[0].distance.value)
//get the next one??
};
}
PS配列をDistance Matrix Serviceに送信する必要があることはわかっていますが、送信する必要がありますが、この問題は頻繁に発生するため、一般的に理解したいと考えています。
PPS私はノックアウト.jsを使用しているため、addresses()[n]呼び出し。
ありがとうございました。