読者です 読者をやめる 読者になる 読者になる

Awa Style.

四国の辺境で働く名もなきエンジニアの備忘録というか、覚書。技術以外のことも書きます。

【GoogleAPI v3】 GoogleMapに設置したマーカーに吹き出しをつける。

Google mapに設置したマーカーに吹き出しを設置します。

基本的には、google.maps.InfoWindowオブジェクトを生成し(javascript 38行目)、openメソッドを呼びます(javascript 41行目)。

吹き出しを表示する時の第2引数にmarkerを設定していますが、オブジェクト生成時に設定すると変更できないし、markerオブジェクトをInfoWindowオブジェクトから取得することはできないようです。
openメソッドが呼ばれた時にhtml形式の文字列を生成するらしく、closeメソッドを実行するとInfoWindowオブジェクトが破棄されるようです。

close()のDescriptionより
Closes this InfoWindow by removing it from the DOM structure.

(DOMから削除することにより、InfoWindowオブジェクトを閉じる。)

Googleの地図上をクリックして作成された吹き出しのオブジェクトを取得することはできないようで、削除するためには生成後のhtmlを解析するしか方法はないようです。(javascript 52行目)
Googleの気まぐれで生成されるhtmlの構成が変わることが予想されますので、吹き出しを自動で消す機能はあきらめた方がいいかもしれません。

吹き出しの形など細かなカスタマイズはOverlayViewを用いて行うようですが、infobox.js というものもGoogle公式で公開されています。

infobox.jsの使い方は・・・まあ、そのうち?←