2013-08-19 61 views
1

你好我實現在煎茶觸摸谷歌地圖的建議在這裏: google maps implementation in sencha touch 2 (the MVC way)谷歌地圖煎茶觸摸2配置

然而,當在地圖出現後,它首先會顯示默認位置(介於美國),然後再 - 再次根據我的配置顯示地圖。我怎樣才能避免這種情況?

Ext.define('App.view.Map', { 
extend: 'Ext.Map', 
xtype: 'map', 
useCurrentLocation: false, 
config: { 
    layout: 'fit', 
    iconCls: 'icon-location', 
    title: 'Location', 
    styleHtmlContent: true, 
    items: { 
     docked: 'top', 
     xtype: 'titlebar', 
     title: 'Location' 
    } 
}, 
mapOptions: { 
    center: new google.maps.LatLng(<value>, <value>), 
    disableDefaultUI: true 
}, 
constructor: function(config) { 
    this.callParent(config); 
    if (!(window.google || {}).maps) { 
      this.setHtml('<p id="maperror">Internet Connection Required!</p>'); 
    } 
} 
}); 
+0

張貼您的地圖代碼 – Viswa

+0

看到我的更新回答 – Viswa

回答

0

您定義的地圖視圖和擴展Ext.Map,這樣角度的地圖,當你給的xtype你的看法,它不應該是預定義的xtype像地圖,面板,按鈕等。

你應該學習Ext class system並試試這段代碼。

Ext.define('myapp.view.Map', { 
    extend: 'Ext.Map', 
    xtype: 'mymap', 
    config: { 
     layout: 'fit', 
     iconCls: 'icon-location', 
     title: 'Location', 
     useCurrentLocation: false, 
     styleHtmlContent: true, 
     items: [{ 
      docked: 'top', 
      xtype: 'titlebar', 
      title: 'Location' 
     }], 
     mapOptions: { 
      center: new google.maps.LatLng(<value>, <value>), 
      disableDefaultUI: true 
     } 
    }, 
    constructor: function(config) { 
     this.callParent(config); 
     if (!(window.google || {}).maps) { 
      this.setHtml('<p id="maperror">Internet Connection Required!</p>'); 
     } 
    } 
}); 
+0

謝謝!它的工作...我的錯誤是,我把mapOptions節之外的配置之一,因此它被忽略... 將觀看視頻肯定... – bert

+0

@bert雅,這也是我的原因說你需要學習課堂系統。 – Viswa

0
  1. 您可以通過添加一個「中心」選項,以地圖的「的MapOptions」配置設置的起始位置。

    { 
        xtype: 'map', 
        mapOptions: { 
         center: new google.maps.LatLng(-34.397, 150.644) 
        } 
    } 
    
  2. 您可以重寫Ext.Map類並添加自己的消息。

    Ext.define('MyApp.overrides.Map', { 
        constructor: function() { 
         this.callParent(arguments); 
         // this.element.setVisibilityMode(Ext.Element.OFFSETS); 
    
         if (!(window.google || {}).maps) { 
          // do your own thing here 
         } 
        } 
    }); 
    
+0

哦!你張貼的速度很快 – Viswa

+1

這個重寫方法的作品謝謝...我已經解決了它,並編輯了代碼,但你真的很快,似乎:) – bert