Sencha touch Sencha Touch和传单.js API

Sencha touch Sencha Touch和传单.js API,sencha-touch,sencha-touch-2,leaflet,Sencha Touch,Sencha Touch 2,Leaflet,我想在Sencha Touch 2.3.1中使用传单.js API,传单.js给出以下错误: Uncaught Error: Map container not found. 这些链接包含在index.html中 <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.css" /> <script src="http://cdn.leafletjs.com/leaflet-0.7

我想在Sencha Touch 2.3.1中使用传单.js API,传单.js给出以下错误:

Uncaught Error: Map container not found.
这些链接包含在index.html中

<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js"></script>
这是“App.view.MapView”代码:

Ext.define("App.view.MapView", {
  extend: 'Ext.Container',
  requires: ['Ext.device.Geolocation'],
  xtype: 'mapview',
  initialize: function(){

          var map = L.map('map').setView([47.36865, 8.539183], 13);
          var layer = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);

          map.on('click', function() {
            console.log('Click-Event on map / Time: ' + Date.now());
          });

  },
});

我做错了什么?请提供帮助。

传单正在搜索一个DOM元素,
map
,它还不存在(还…)


当在DOM完成加载之前调用
L.map('map')
时,就会出现此问题。

好的,看来我找到了解决方案。我改变了这一行:

var map = L.map('map').setView([47.36865, 8.539183], 13);


猜测js是在DOM准备就绪之前执行的。尝试将代码包装到函数中,并将window.onload设置为与函数相等。

这不是脚本何时包含的问题,而是映射何时初始化的问题。因此,id选择器似乎不起作用。。。奇怪的我不知道为什么。我正试着做答案是什么,但地图没有出现。我怎样才能解决这个问题?
var map = L.map('map').setView([47.36865, 8.539183], 13);
var map = L.map(this.element.dom).setView([47.36865, 8.539183], 13);