1

Web ページに Google マップを作成しています。この地図にはいくつかのマーカーがあります。これらのマーカーは、json ファイルの情報を使用して作成されます。これはすべてうまくいきます。しかし、すべてのマーカーのリストを使用したい場合、この list.length は他の関数では常に 0 です。マーカーをリストに入れる関数でのみ、リストは空ではありません。

コードのフィドラーを作成したので、皆さんにとってより見やすくなりました。

問題は、配列の「位置」と機能ボタンにあります。ボタン機能のアラートには 0 が表示されます。その理由がわかりません..

前もって感謝します!

ここに私のフィドル

4

1 に答える 1

1

考え方は単純です。Ajax あなたは非同期に呼び出しています。positions.length値をアラートしようとするとAjax、まだ配信されておらず、position配列には値が入力されておらず、空です( .length=0)。コールbuttons()バック内にコールを配置します。

loadMarkers();
//buttons();
//     |    //.............
//     |    //.............
//     |    //.............
            polyline.setMap(map);
//     ---> 
            buttons();
      });
于 2012-07-09T19:06:59.690 に答える