マップを読み込んでから印刷ダイアログを自動的に表示する

次の流れで印刷をしたかったが、印刷ダイアログを出力(window.print())するタイミングによってページに含まれるGoogle Mapsが表示されないことがあった。おそらく、window.print()をloadScript()内の最後に書いていたので、非同期で読み込まれるGoogle Mapsの表示を待たずに印刷ダイアログを出力していたのだと思う。

  1. ページの「印刷」ボタンをクリック
  2. 印刷用にページを再構築(データを再度抽出し、Google Mapsを含めてページを作る)
  3. 印刷ダイアログを自動的に表示

そこで、google.maps.event.addListenerを利用してmapがidle状態に変化したら(つまり読み込みが完了したら)印刷ダイアログを表示するように変更したところ期待通りに動いた。当たり前といえば当たり前なんだけど。

サンプルはこちら

[PHP]





テスト


[/PHP]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA