スイッチがマップするのと同じ方法でデプロイされた、openlayersビューア内にフォームを作成します。
このリンクを参照してください: http ://www.youtube.com/watch?v = bb0JqmZW7S4
ご回答ありがとうございます
スイッチがマップするのと同じ方法でデプロイされた、openlayersビューア内にフォームを作成します。
このリンクを参照してください: http ://www.youtube.com/watch?v = bb0JqmZW7S4
ご回答ありがとうございます
OPが望んでいるのは、OpenLayersのOverviewMap/LayerSwitcherへのデフォルトアクセスと同様のボタンを使用してカスタムフォームにアクセスすることだと思います。
これを行う方法は、OverviewMapコントロール*の実装方法から抽出できます。
this.div.className += " " + this.displayClass + 'Container';
var imgLocation = OpenLayers.Util.getImagesLocation();
// maximize button div
var img = imgLocation + 'layer-switcher-maximize.png';
this.maximizeDiv = OpenLayers.Util.createAlphaImageDiv(
this.displayClass + 'MaximizeButton',
null,
new OpenLayers.Size(18,18),
img,
'absolute');
this.maximizeDiv.style.display = 'none';
this.maximizeDiv.className = this.displayClass + 'MaximizeButton';
OpenLayers.Event.observe(this.maximizeDiv, 'click',
OpenLayers.Function.bindAsEventListener(this.maximizeControl,
this)
);
this.div.appendChild(this.maximizeDiv);
// minimize button div
var img = imgLocation + 'layer-switcher-minimize.png';
this.minimizeDiv = OpenLayers.Util.createAlphaImageDiv(
'OpenLayers_Control_minimizeDiv',
null,
new OpenLayers.Size(18,18),
img,
'absolute');
this.minimizeDiv.style.display = 'none';
this.minimizeDiv.className = this.displayClass + 'MinimizeButton';
OpenLayers.Event.observe(this.minimizeDiv, 'click',
OpenLayers.Function.bindAsEventListener(this.minimizeControl,
this)
);
this.div.appendChild(this.minimizeDiv);
var eventsToStop = ['dblclick','mousedown'];
for (var i=0, len=eventsToStop.length; i<len; i++) {
OpenLayers.Event.observe(this.maximizeDiv,
eventsToStop[i],
OpenLayers.Event.stop);
OpenLayers.Event.observe(this.minimizeDiv,
eventsToStop[i],
OpenLayers.Event.stop);
}
*:ファイルから取得:OpenLayers / lib / OpenLayers / Control / OverviewMap.js
これを挿入して変更すると、あなたが探していると思う効果を作成するために使用できます。
幸運を!