У меня есть панель управления, которая при нажатии на центральную кнопку переключает и отображает другую панель, содержащую элементы управления рисованием (пример изображения ниже)
Я хотел бы, чтобы при повторном нажатии кнопки «Инструменты карты» панель управления рисованием была скрыта, все элементы управления на этой панели автоматически деактивировались.
Для переключения панели я использую простой скрипт jQuery:
$(document).ready(function(){
$(".olControlCustomNavToolbar").hide();
$("a#map_tools").click(function(event){
$(".tools").find(".olControlCustomNavToolbar").toggle();
if($(".print_pref").is(":visible")){
$(".print_pref").hide();
}
return false;
});
});
Что касается элементов управления рисованием, я немного их перепутал, чтобы настроить (так что, пожалуйста, не отказывайте мне, скажем, CustomNavToolbar не должен использоваться таким образом)
OpenLayers.Control.CustomNavToolbar=OpenLayers.Class(OpenLayers.Control.Panel,{
initialize:function(options){
OpenLayers.Control.Panel.prototype.initialize.apply(this,[options]);
this.addControls([
new OpenLayers.Control.DrawFeature(vlayer, OpenLayers.Handler.Polygon,{displayClass:'olControlDrawPolygon'}),
new OpenLayers.Control.DrawFeature(vlayer, OpenLayers.Handler.Path,{displayClass:'olControlDrawPath'}),
new OpenLayers.Control.DrawFeature(vlayer, OpenLayers.Handler.Point,{displayClass:'olControlDrawPoint'})
])
this.displayClass='olControlCustomNavToolbar'
}
});
Надеюсь, кто-нибудь может помочь. Буду очень признателен, если есть какой-либо другой код, который будет полезен, я выложу его как можно скорее. Спасибо