2012-09-24 45 views
1

我有一个在Sencha touch 2中定义的谷歌地图。它显示地图,但它没有响应触摸事件。我无法移动或捏住它。谷歌地图对Sencha Touch 2中的事件不敏感

Ext.define('AddressBook.view.contact.Show', { 
    extend: 'Ext.Panel', 
    xtype: 'contact-show', 
    requires: [ 
     'Ext.Map' 
    ], 
    config: { 
     title: 'Information', 
     layout: 'card', 
     items: [ 
      { 
       xtype: 'map', 
       mapOptions : { 
        zoom : 15, 
        mapTypeId : google.maps.MapTypeId.ROADMAP, 
        navigationControl: true, 
        navigationControlOptions: { 
         style: google.maps.NavigationControlStyle.DEFAULT 
        } 
       } 
      } 
     ] 
    }, 

    centerMap: function(newRecord) { 
     ... 
    }, 

    setMarkers: function(markers) { 
     ... 
    } 
}); 

我创造了它在app.js:

Ext.Loader.setConfig({ enabled: true }); 

Ext.application({ 
    ... 

    launch: function() { 
     Ext.Viewport.add({ 
      xclass: 'AddressBook.view.contact.Show' 
     }); 
    } 
}); 

我包括谷歌脚本:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"</script> 

的事情是,这是煎茶提供"Map" example似乎做工精细。但它使用Ext.setup()和Ext.create()在app.js中显示地图。我无法弄清楚为什么它能够很好地工作。但是我也不能用这种方式来创建地图。任何人都知道有什么问题?

回答

0

发现问题。 Sencha工作的'map'示例中包含一个脚本,该脚本不存在于示例中,但存在于另一个用作我的项目模板的示例中。

<link rel="stylesheet" href="css/example.css" type="text/css"/>

BY该非现有脚本起见INCLUDE GOOGLE MAPS是工作在实施例 'MAP'。

换句话说,如果您将它与Google地图一起纳入您的项目,它将会变得无反应! 我不得不去掉'地图'例子,最终找到问题,花了我很多时间,这要感谢没有人在他成为例子之前清理他的代码!

B.t.w.这就是'navigationview'例子也有冻结的Google Map的原因,因为它需要这个腐败脚本来显示它的样式。

我请Sencha团队从他们的例子中删除这个令人困惑的代码。

+0

Sencha的网站充满了缺陷和错误。我与Sencha Architect一起工作了一个项目,看起来即使网站上的教程也有错误,并且需要不断调整,但是,他们更忙于调试代码本身,而不是看网站本身。无论如何,祝你好运;) – Dorvalla

+0

这样的样式表example.css需要导航视图。它充满了错误!看起来有人把它放在示例工具包中。 –

+0

我有类似的问题,但只有在与Sencha Touch 2.2的Android 4.2.2上。在iOS上,它工作正常,我可以完全与地图互动。我没有这样的CSS文件被导入。 –