2

公益事業会社のサービス注文を表示するマッピング プロジェクトに取り組んでいますが、ピンと情報ボックスの番号付けに問題があります。以下は、この問題を説明するために私が作業しているページの一部です。
http://www.evocommand.com/junk_delete_me/virtual_earth_testing/VirtualEarthTest.html

それを開くと、5 つの画鋲を画面に表示する「テスト ピン」へのリンクが上部に表示されます。

問題はイベントの順序にある​​と思います。map.Find()ピンは、 という関数内でを使用したアドレス ルックアップによって生成されますAddPushpinByAddress()。問題は、ピンが実際に作成される --AddPushpinByAddress() の最終パラメータからコールバック関数を起動する前に、への 5 つの呼び出しがすべて起動することです。Map.Find()最終的な結果として、この例の 5 つのピンすべてがレンダリングされ、最後にレンダリングされたピンのピン番号、タイトル、および説明が表示されます。助言がありますか?

4

2 に答える 2

0

ローカルまたはグローバルの「var」または複数のインスタンスを使用できませんでした。

私は最終的にあきらめて、javascript で「setTimeout()」を使用して遅延を強制し、仮想地球が次の画鋲で入力を受け取る前に場所を見つけられるようにしました。より良い方法があると確信していますが、進歩という名の実用性が完璧さ/正確さから勝ちました.

于 2010-08-24T21:47:04.597 に答える
0

あなたは正確に正しいです。グローバルを使用してピンの ID (および他のすべての値) を保持しているので、最後の値だけが得られます。

AddPushpinByAddress 関数で画鋲の新しいインスタンスを作成し、その画鋲をコールバックに渡してプロパティを設定します。本当に必要な場合は、同様のコードがいくつかありますが、それらをグローバルから移動し、渡すことができる画鋲オブジェクト (または独自のオブジェクトを作成) を使用すると、この問題に対処できます。

于 2010-05-28T15:31:37.847 に答える