GmapPanel无法zoomlevel - EXTJS 4

时间:2013-02-19 07:48:21

标签: javascript ajax google-maps extjs extjs4

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

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,{
                    //title: 'Map',
                    region: 'center',     // center region is required, no width/height specified
                    xtype: 'gmappanel',
                    mapConfOpts: ['enableScrollWheelZoom','enableDoubleClickZoom','enableDragging'],
                    mapControls: ['GSmallMapControl','GMapTypeControl','NonExistantControl'],   
                    zoomLevel: 2,
                    gmapType: 'map'
                }],
                renderTo: Ext.getBody() //get the body and display Layout at there
            });

enter image description here

问题

为什么我的代码无法缩放,gmaptype有地图和小地图?甚至用x,y坐标设置中心也行不通。请帮忙谢谢!

4 个答案:

答案 0 :(得分:0)

您想要添加

    setCenter: {
        'lat': 37.4419,
        'lng': -122.1419,
        marker:{ title: 'Palo Alto'}
    }
xtype中的

:'gmappanel'。

答案 1 :(得分:0)

我也面临同样的问题,我通过更改以下代码部分中GMapPanel.js的缩放来解决这个问题:

options = Ext.applyIf(options, {
        zoom: 4,         // <-- change this to whatever you want
        center: center,
        mapTypeId: google.maps.MapTypeId.HYBRID
    });

注意:我没有将上述代码添加到GMapPanel.js,它已经存在,只需找到它并更改缩放级别。

答案 2 :(得分:0)

options = Ext.applyIf(options, {
    zoom: this.zoom || 14,      // FIX 
    center: center,
    mapTypeId: google.maps.MapTypeId.HYBRID
});

在创建xtype时使用var zoom来更改默认缩放值

答案 3 :(得分:0)

我认为这就是你想要做的。您需要在'mapOptions'对象中包含'zoomLevel'。这是一个例子:

xtype: 'gmappanel',
height: 300,
width: 300,
mapOptions: {
    zoom: 17,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    //...etc
}