GoogleMap 情報ウィンドウを表示させるときの注意

開発中に情報ウィンドウが、一瞬変な所に表示される問題がありました。 これは、情報ウィンドウの場所を開く前に伝えられていなかった事が問題の原因だったようです。

//最初のコード
infowindow.setContent();
marker = new Marker(); // マーカーオブジェクトの作成
infowindow.open(map, marker);

以上のコードだと、javascriptの同期処理の性質からマーカーが出来る前、つまり情報ウィンドウのポジションが決まる前にopenのコードが実行されてしまいます。これを以下のように直してあげる事で、バグは改善しましたー。

// 修正後のコード
infowindow.setContent();
marker = new Marker(); // マーカーオブジェクトの作成
infowindow.setPosition(); // 情報ウィンドウの表示場所をセット
infowindow.open(map, marker);