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