2013-08-06 53 views
0

我想在我的Sencha Touch應用程序中擁有地圖。我在index.html中加載了腳本,我可以看到它處於活動狀態,因爲瀏覽器正在查找我的實際位置。Sencha Touch的谷歌地圖

問題是,所有從視圖加載,但我可以看到沒有地圖。

我的看法是這樣的:

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); 
    } 
}); 

回答

0

嘗試給一個佈局的父容器。根據我的經驗,視圖上的默認佈局不能正確地將地圖渲染爲小孩。

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

    ... 

順便說一句,請注意Ext.map從Ext.container繼承,所以,如果你正在做的是增加一個工具欄,你可以把它添加到地圖容器本身並刪除嵌套的水平。

+0

使用佈局合適,我得到此錯誤消息:Uncaught TypeError:對象#沒有方法'onItemAdd'。甚至沒有顯示topToolbar。 – torhoehn

+0

哎呀,對不起。我忽視了認識到佈局在視圖中的不同應用。我編輯了上面的帖子來反映。如果你使用這個配置,它會起作用。例如,查看http://new.senchafiddle.com/#/JQHc8/。 –

+0

現在,它的工作。謝謝你的幫助! – torhoehn