0
    var layout = Ext.create('Ext.panel.Panel', {
                //renderTo: 'layout',
                width: window.innerWidth,
                height: window.innerHeight,
                //title: 'Border Layout', //no title will be blank
                layout: 'border',
                items: [{
                    title: 'Message List',
                    region: 'south',     // position for region
                    xtype: 'panel',
                    height: 100,
                    split: true,         // enable resizing
                    collapsible: true,
                    margins: '0 5 5 5',
                    collapsed: true
                },tree,{
                    xtype: 'gmappanel',
                    region: 'center',
                    id : 'mygooglemap',
                    center: new google.maps.LatLng(3.951941, 102.052002),
                    mapOptions: {
                        zoom: 7,
                        mapTypeId: google.maps.MapTypeId.ROADMAP                    
                    }
                    }],
                renderTo: Ext.getBody() //get the body and display Layout at there
            });
        });

function addInfoWindow(lat,lng) {
    var map123 = Ext.getCmp('mygooglemap'); 
    var latLng = new google.maps.LatLng(lat, lng);
    map123.SetCenter(latLng);
    }

为什么我不能将地图设置为坐标中心?
出现此错误的 Firebug

TypeError: map123.setCenter is not a function
[Break On This Error]   

map123.setCenter(latLng);

已编辑

我从https://raw.github.com/VinylFox/ExtJS.ux.GMapPanel/master/src/GMapPanel3.js
下载的 GMapPanel.js 在哪里, 然后我把它放在我的 localhost/ux/GMapPanel3.js 中,这是我的在使用 GMapPanel 之前配置

Ext.Loader.setPath('Ext.ux', 'ux/');
Ext.require([
    'Ext.tree.*',
    'Ext.data.*',
    'Ext.window.MessageBox',
    'Ext.window.*',
    'Ext.ux.GMapPanel'
]);

但是无法设置 Center ,为什么?

4

1 回答 1

0

我假设您正在使用此处的插件:https ://github.com/VinylFox/ExtJS.ux.GMapPanel

假设这是真的,从查看代码看起来您​​需要getMap()gmappanel调用之前使用setCenter()

map123.getMap().setCenter(latLng);

或者,您可以setCenter在配置时指定属性gmappanel

{
    xtype: 'gmappanel',
    region: 'center',
    id : 'mygooglemap',
    setCenter: {
        lat: 3.951941, 
        long: 102.052002
    },
    mapOptions: {
        zoom: 7,
        mapTypeId: google.maps.MapTypeId.ROADMAP                    
    }
}

ExtJS/Javascript 的一大优点是您可以访问所有库的代码。当您看到诸如“xxx 不是函数”之类的错误时,它应该是不言自明的:您尝试使用的函数在您调用它的对象上不可用。

于 2013-07-03T11:15:54.857 回答