0

3 つのタブを持つタブ パネルがあります。3 番目のタブは、マップを表示することです。必要なコントロールを含むマップを取得していますが、中央に配置されていません。ポイントは、タブの中心よりも北西にあります。そのため、マップをドラッグしてポイントをタブの中心に移動する必要があります。

タブ パネル コード

var infoPanel = new Ext.tab.Panel({
    id: 'guestTabPan',
    xtype: 'tabpanel',
    title: 'Site Information',
    autoDestroy: false,
    items:[
      {
        id: 'siteTab',
        title:'Site',
        items:[
           ....
        ]
      },{
        title: 'Pressure',
        id: 'pressureTab',
        items:[
          .....
        ]
      },{
        title: 'Map',
        id: 'mapTab',
        items:[ 
          {
            xtype: "panel",
            id: 'mapTabPanel',
            height: 1000,                         
            layout: 'fit',
            items:[
            ]
          }
        ]
      }
    ]
  });

マップコード

 var smallGoogleMap = {xtype: 'gmappanel',id :'gSmallSiteMap',width:'100%',height:1000,
            zoomLevel:10,
            gmapType: 'map',
            mapConfOpts: ['enableScrollWheelZoom','enableDoubleClickZoom','enableDragging'],
            mapControls: ['GSmallMapControl','GMapTypeControl','NonExistantControl'],
            setCenter: {
              lat: SiteLat,
              lng: SiteLng,
              marker:{ title: SiteTitle}
            }

};

Ext.getCmp('mapTabPanel').add(smallGoogleMap);

推測はありますか?

4

1 に答える 1

0

タブのアクティブ化で GMapPanel.js の this.getMap().setcenter を呼び出すと、マップを中央に配置するのに役立ちます。わたしにはできる。setCenter は個別のメソッドではなく、少なくとも私が持っている js ファイルではありません。以下のように、マップ タブのアクティブ化イベントでマップの中心点を追加しました。

{
   title: 'Map',
   id: 'mapTab',
   listeners: {
    'activate':{
       fn:function(){
         var gsm = Ext.getCmp('gSmallSiteMap');
         var mpoint = new GLatLng(mymarker.lat,mymarker.lng);
         gsm.addMarker(mpoint,mymarker.marker,false,true, mymarker.listeners);
       }
     }  
   },
   items:[ 
          ......
         ]
}
于 2013-02-01T21:01:53.657 に答える