Googleマップを使用してマップを表示するために使用している単純なExtJSコンポーネントがあります。ExtJS 4.1.1 から 4.2.0 にアップグレードすると、このコンポーネントのロードマスクが正しく中央に配置されません。
デモについては、次の jsFiddle リンクを参照してください。
ExtJS 4.1.1 の使用: jsFiddle
ExtJS 4.2.0 の使用: jsFiddle
私が話していることを確認するには、マップを追加してからロードマスクを適用します。最初の例ではロードマスクが中央に配置されていますが、2 番目の例では位置がずれています。2 番目の例でマップを追加する前にロードマスクを適用すると、ロードマスクが正しく表示されることに注意してください。
これはバグですか?ロードマスクを別の方法で適用するか、Google マップ オブジェクトを別の方法でレンダリングする必要がありますか? ありがとう。
例に使用している基本的なコード:
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);
}
});
});