現在、位置オブジェクトの配列をループしています。次に、Google に電話して、その場所のパノラマを取得します。問題は、このリクエストが非同期であることです。そのため、コールバックが実際に呼び出されると、渡した場所変数は配列内の最後の場所になります。
コード例とコンソール ログ出力を次に示します。
for location in paginated_data.locations
console.log location
latLng = new google.maps.LatLng(location.latitude,location.longitude)
@sv.getPanoramaByLocation(latLng, 50, (StreetViewPanoramaData, StreetViewStatus) =>
console.log location
)
ご覧のとおり、最初のループではコンソールは正しい場所を認識し、コールバックではループの最後の場所のみを表示します。これを修正する方法について誰かが私を正しい方向に向けることができますか?