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 はどこですか
。 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()onを使用する必要があるように見えます。gmappanelsetCenter()

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 の素晴らしい点の 1 つは、すべてのライブラリのコードにアクセスできることです。「xxx は関数ではありません」のようなエラーが表示された場合、それは一目瞭然です。使用しようとしている関数は、呼び出しているオブジェクトでは使用できません。

于 2013-07-03T11:15:54.857 に答える