0

我想在我的 Sencha Touch 应用程序中有一个地图。我在 index.html 中加载了脚本,我可以看到它处于活动状态,因为浏览器正在寻找我的实际位置。

问题是视图中的所有内容都会加载,但我看不到地图。

我的观点是这样的:

Ext.define('RMA-App.view.ActivityMap', {
    extend: 'Ext.form.Panel',
    alias: 'widget.activitymap',

    initialize: function() {
        this.callParent(arguments);

        var backButton = {
            xtype: 'button',
            ui: 'back',
            text: 'Zurück',
            handler: this.onBackButtonTap,
            scope: this
        };

        var topToolbar = {
            xtype: 'toolbar',
            docked: 'top',
            title: 'Ort der Aktivität',
            items: [
                backButton,
                {
                    xtype: 'spacer'
                }
            ]
        };

        var map = {
            xtype: 'map',
            useCurrentLocation: true
        };

        this.add([
            topToolbar,
            map
        ]);
    },

    onBackButtonTap: function() {
        console.log('backToActivityEditorCommand');
        this.fireEvent('backToActivityEditorCommand', this);
    }
});
4

1 回答 1

0

尝试为您的父容器提供布局。根据我的经验,视图上的默认布局无法正确地将地图呈现为子项。

Ext.define('RMA-App.view.ActivityMap', {
    extend: 'Ext.form.Panel',
    alias: 'widget.activitymap',
    config: {
        layout: {
            type: 'fit'
        }
    },  

    ...

顺便说一句,请注意 Ext.map 继承自 Ext.container,因此如果您所做的只是添加一个工具栏,您可以将其添加到地图容器本身并删除一个嵌套级别。

于 2013-08-06T20:27:43.333 回答