1

私の問題は、配列をループして各項目に関する 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]呼び出し。

ありがとうございました。

4

1 に答える 1