2012-09-24 44 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文件被導入。 –