我有一个简单的 ExtJS 组件,我用它来显示使用谷歌地图的地图。从 ExtJS 4.1.1 升级到 4.2.0 后,此组件的负载掩码未正确居中。
有关演示,请参阅以下 jsFiddle 链接。
使用 ExtJS 4.1.1:jsFiddle
使用 ExtJS 4.2.0:jsFiddle
要查看我在说什么,请添加地图,然后应用加载掩码。Loadmask 在第一个示例中居中,但在第二个示例中不在位置。请注意,如果在第二个示例中添加地图之前应用 loadmask,则 loadmask 会正确显示。
这是一个错误吗?我应该以不同的方式应用加载掩码还是以不同的方式呈现谷歌地图对象?谢谢。
我用于示例的基本代码:
Ext.onReady(function () {
Ext.create('Ext.window.Window',{
height:300,
width:300,
title:'Using ExtJS 4.x.x',
id: 'gmap-win'
}).show();
Ext.create('Ext.button.Button',{
text:'Add Map',
renderTo:'btn',
handler: function(){
var myLatLng = new google.maps.LatLng(0, 0);
var myOptions = {
zoom: 2,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
new google.maps.Map(Ext.getCmp('gmap-win').body.dom, myOptions);
}
});
Ext.create('Ext.button.Button',{
text:'Apply loadmask',
renderTo:'btn1',
handler: function(){
Ext.getCmp('gmap-win').setLoading(true);
}
});
Ext.create('Ext.button.Button',{
text:'Remove loadmask',
renderTo:'btn2',
handler: function(){
Ext.getCmp('gmap-win').setLoading(false);
}
});
});