TOP > 技術系 > javascript >

google mapでカスタムオーバーレイ

| | コメント(0) | トラックバック(0)

google ma apiで地図上に任意のオーバーレイを設置できるカスタムオーバーレイ

GOverlayを継承したクラスを作っておく。

var map, customDiv;
function customBox() { }
customBox.prototype = new GOverlay();
customBox.prototype.initialize = function(map) {
	map.getPane(G_MAP_MAP_PANE).appendChild(customDiv);
}
customBox.prototype.redraw = function(force){}

実行されたらcustomDivというオブジェクトがgoogle map上に追加されていく。

実行はaddOberlayを利用

gMap.addOverlay( new customBox());

初期位置は初期配置されたオーバーレイのx:0px; y:0px;

positionでごにょごにょすると自由に配置できる。

たとえばクリックされたマーカーのpointかれ情報ウィンドウもどきを表示する。
情報ウィンドウは1地図一つしか表示されないけどカスタムオーバーレイだと複数表示できる。

var Point = gMap.fromLatLngToDivPixel(point);
Element.setStyle(customDiv, { 
 'left':Point.x+'px', 
 'top':Point.y+'px', 
})

個別のカスタムオーバーレイの削除がわからなかったけど、customDivにidとか振っておけば無理やり削除できる。

トラックバック(0)

このブログ記事を参照しているブログ一覧: google mapでカスタムオーバーレイ

このブログ記事に対するトラックバックURL: http://www.kazumanishihata.com/mt/mt-tb.cgi/234

コメントする