我对xtypes有疑问。当我这样做时:
// map
var map = new Ext.map({
fullscreen: true,
getLocation: true,
mapOptions: {
zoom: 12
}
});
map.map.setCenter(new google.maps.LatLng(record.attributes.record.data.latitude, record.attributes.record.data.longitude));
一切都很好,地图出现了。
现在,当我使用xtypes时,'map'变量将无法识别'setCenter'属性。 码: var map = { 全屏:真的, xtype:'map', 标题:'地图', getLocation:true, useCurrentLocation:true, 的MapOptions: { zoom:12 } };
map.map.setCenter(new google.maps.LatLng(record.attributes.record.data.latitude, record.attributes.record.data.longitude));
使用此代码,我在控制台中得到了这个:
未捕获的TypeError:无法调用方法 'setCenter'未定义
我希望有人可以帮助我。提前谢谢!
答案 0 :(得分:3)
当您调用map.map.setCenter()
时,您的地图对象已经被实例化。通过使用xtype定义地图,可以使用延迟实例化。
您可以尝试以下方式:
{
xtype: 'map',
fullscreen: true,
getLocation: true,
mapOptions: {
zoom: 12
},
listeners: {
maprender: function(component, map) {
map.setCenter( ... )
}
}
}