9日目、フキダシをつける

Info Window というのは、よくマーカーとセットで表示されるフキダシのことですが、フキダシを表示するにはサンプルのように openInfoWindow メソッドを使用します。

var map = new GMap(document.getElementById("map"));
map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);
map.openInfoWindow(map.getCenterLatLng(),
                   document.createTextNode("Hello world"));



openInfoWindow 以外にもメソッドが用意されているようです。こちらに一覧表がありましたので例によって日本語化しておきます。

メソッド 説明
openInfoWindow(latLng, htmlElem, pixelOffset?,
onOpenFn?, onCloseFn?)
指定された経緯度座標のポイント上に指定された HTML コンテンツを伴うフキダシ(info window) を表示する。htmlElem には HTML DOM 要素の使用が推奨される。pixelOffset (GSize) が指定される場合は、指定されたピクセル数分の補正が行われ、ユーザがマーカーやその他の overlays の上にフキダシを配置できるようになる。onOpenFn が指定される場合は、フキダシが表示される時に指定された関数の呼び出しがあり、また onCloseFn が指定される場合はフキダシが閉じられるときに関数の呼び出しがある。
openInfoWindowHtml(marker, htmlStr,
pixelOffset?, onOpenFn?, onCloseFn?)
HTML DOM 要素の代わりに HTML 文字列を指定すること以外は openInfoWindow と同じ。
openInfoWindowXslt(marker, xmlElem,
xsltUri, pixelOffset?, onOpenFn?, onCloseFn?)
openInfoWindow と同じだが、1つの XML 要素と XSLT ドキュメントの URI を指定してフキダシのコンテンツを生成する。URI が指定されると最初だけ GXmlHttp によるダウンロードが行われるが、以降はキャッシュされたものが使用される。
showMapBlowup(point, zoomLevel?, mapType?, pixelOffset?, onOpenFn?, onCloseFn?) GPoint の経緯度座標で指定されたマップの blowup (拡大地図?)を表示する。zoomLevelmapType が指定されない場合は、デフォルトでズームレベル 1 と現在のマップタイプが使用される。
closeInfoWindow() もし開いていたら、フキダシを閉じる。

カンタンに済ませたいときは openInfoWindowHtml が使いやすそうですね。というわけで試しに Flickr から <img> タグとかつっこんでみました(examples-04)。なお、写真の内容に意味はありません。

それから、showMapBlowup の使い方がイマイチわからなかったので試してみました(examples-05)。

      var map = new GMap(document.getElementById("map"));
      map.centerAndZoom(new GPoint(-122.141944, 37.441944), 4);
      map.showMapBlowup(map.getCenterLatLng(), 1, _SATELLITE_TYPE);

マップタイプの指定はこないだ noki さんに教えてもらったやり方で、ドキュメントに書いてある G_SATELLITE_TYPE の替わりに _SATELLITE_TYPE を指定したらうまくいきました。名前は blowup ですけど、任意の地点の任意の縮尺の地図をフキダシ中に任意に貼れるメソッドと理解してよさそうです。

風邪をひいたのかやたら体がだるいので、今日はこの辺で。

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*