2009-11-25 4 views
0

привет, все, как я создаю форму в пределах просмотра зрителей, развернутых так же, как коммутатор карты.Форма в зрителя openlayers

смотрите по этой ссылке: http://www.youtube.com/watch?v=bb0JqmZW7S4

спасибо за любой ответ

+0

Не могли бы вы рассказать немного? Вы хотите вставить пользовательскую форму в окно просмотра OpenLayers? – amercader

ответ

1

Я думаю, что ОП хочет, это получить доступ к его пользовательскую форму с помощью кнопки аналогично доступа по умолчанию к OverviewMap/LayerSwitcher в OpenLayers.

Как сделать это можно извлечь из того, как реализован 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/Библиотека/OpenLayers/Управление/OverviewMap.js

Вставка и модифицируя это, можно было бы использовать для создания эффекта, который, как я думаю, вы ищете.

Удачи вам!

+0

спасибо за ваш ответ – ricardo

Смежные вопросы