2011-07-27 5 views
0

우리는 우리 응용 프로그램에서 ExtJS3.2와 함께 Mapfish 도구 모음을 사용하고 있습니다. 이제 ExtJS3.2를 ExtJS4로 업그레이드하려고합니다. 그러나 Mapfish는 ExtJS4와 함께 작동하지 않습니다. 그래서, 우리는 ExtJS4 툴바를 사용하고 있지만 툴바에 버튼을 위해 작성된 코드는 실행되지 않습니다.OpenLayers 코드가있는 ExtJS4 도구 모음

ExtJS4 코드는 다음과 같습니다 여기

var extoolbar = Ext.create('Ext.toolbar.Toolbar',{ 
    border : true, 
    width : 100, 
    height : 40, 
    layout : hbox 
}); 

var btn1 = { 
    xtype : 'button', 
    enableToggle : true, 
    tooltip : "Zoom In", 
    id : 'zoominbtn', 
    listeners : { 
     'click' : fucntion(){ 
      new OpenLayers.Control.ZoomBox({ 
       alwaysZoom : true, 
       draw : function(){ 
        this.handler = new OpenLayers.Handler.Box(
         this, {done: this.zoomBox}, {keyMask: this.keyMask}); 
       } 
      }); 
     } 
    } 
}; 
extoolbar.add(btn1); 

우리가 버튼 컨트롤의 줌 OpenLayers.Control.ZoomBox로 가고 있지만 draw 방법은 실행되지 클릭합니다. 내 질문 :

  1. 코드에 문제가 있습니까?
  2. ExtJS4로 OpenLayers에 접근하는 다른 방법이 있습니까?
+0

과 경험이 없기 때문에이 또한 도움이 될 수 있습니다, 알고 : HTTP : //www.sencha.com/forum/showthread.php? 132276-OpenLayers-wit h-ExtJS-4 & p = 634056 –

답변

1

Ext 3.4와 함께 MapFish도 사용하고 있습니다. 모든

먼저 당신이 fucntion() 대신 다음 :

function()의, 나는 당신이 원하는 것을 이해하지있을 수 있습니다,하지만 난이 사용하는 좋은 방법이 아니라고 -IMAO- 생각 를 누르면

listeners: { 
    'toggle': function(button, pressed) { 
     var ctrl = map.getControl('yourid'); 
     if(pressed){ 
      // Activate the control 
      ctrl.activate(); 
     } else { 
      // Deactivate the control 
      ctrl.deactivate(); 
     } 
    } 
} 

이 방법은 다음 ZoomBox 제어 ... 당신은 다음과 같이 토글 이벤트에 대한 리스너를 사용하여, 당신이 그것을 만드는 동안지도에 ZoomBox 컨트롤을 추가하고 컨트롤에게 ID를 제공해야합니다 컨트롤을 활성화하는 버튼, 다시 누르면 비활성화됩니다. 변화

을 잡고 ZoomBox 컨트롤이 한 번 활성화, 또한 항상 사용할 수 있다는 것을 명심하십시오 또는 당신은이

GeoExt.Action({ 
    map: map, 
    text: "Zoom Box", 
    control: new OpenLayers.Control.ZoomBox() 
}); 

처럼 정말 쉽게 GeoExt를, 사용할 수 있습니다하지만 난 몰라 GeoExt가 내선 질문의 요점 2로 4

어떻게 작동하는지, 미안하지만 난 그 답을 할 수없는 경우 또는 내가 내선 4

+0

Mapfish의 일부 구성 요소를 ExtJS4.Its로 업그레이드했습니다. 답장을 보내 주셔서 감사합니다. – Unknown

+1

당신은 오신 것을 환영합니다! 나는 모든 GIS 프로그래밍에 대한 행운을 빕니다. 그것은 나를 미치게합니다 !! :디 – mokagio