so you are calling the .reposition() and .resize() methods? can you post a complete code sample? using the CODE tags?
init: function(panel) { Ext.apply(panel, { onRender: panel.onRender.createSequence(function(ct, pos) { var id = panel.body.dom.id ? panel.body.dom.id : panel.id; dojo.addOnLoad(this.initEsriMap.createDelegate(this, [id])); } .createDelegate(this)) , onResize: panel.onResize.createSequence(function(w, h) { var width = panel.getInnerWidth(); var height = panel.getInnerHeight(); if (this.map) { this.map.width = width; this.map.height = height; this.map.resize(); this.map.reposition(); } } .createDelegate(this)) }) }
init: function(panel) { Ext.apply(panel, { onRender: panel.onRender.createSequence(function(ct, pos) { var id = panel.body.dom.id ? panel.body.dom.id : panel.id; dojo.addOnLoad(this.initEsriMap.createDelegate(this, [id])); } .createDelegate(this)) , onResize: panel.onResize.createSequence(function(w, h) { var width = panel.getInnerWidth(); var height = panel.getInnerHeight(); if (this.map) { //this.map.width = width; //this.map.height = height; this.map.resize(); this.map.reposition(); } } .createDelegate(this)) }) }
i don't think you need to explicitly set the map height and width. i believe the map.resize() should do that for you.
init: function(panel) { Ext.apply(panel, { onRender: panel.onRender.createSequence(function(ct, pos) { var id = panel.body.dom.id ? panel.body.dom.id : panel.id; dojo.addOnLoad(this.initEsriMap.createDelegate(this, [id])); } .createDelegate(this)) , onResize: panel.onResize.createSequence(function(w, h) { var width = panel.getInnerWidth(); var height = panel.getInnerHeight(); if (this.map) { //this.map.width = width; //this.map.height = height; this.map.resize(); this.map.reposition(); } } .createDelegate(this)) }) }
if the problem is still there try using the timer approach: http://help.arcgis.com/en/webapi/javascript/arcgis/help/jsapi_start.htm#jsapi/map.htm#resize