2013-08-25 118 views
0

我想向Google地圖添加標記。問題是我的網站是'Ext.Container'而不是'Ext.map',因爲我需要一個標題欄。這就是getMap()不適合我的原因。有機會得到這個運行?Sencha Touch - 將標記添加到地圖

這是繪製地圖的功能:

showMapCommand: function() { 
    var record = this.getRecord(); 

    var map = new Ext.Map({ 
     title: 'Map', 
     useCurrentLocation: false, 
     mapOptions: { 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      center: new google.maps.LatLng(record.data.latitude, record.data.longitude), 
      mapTypeControl: false, 
      zoomControl: true, 
      overviewMapControl: false, 
      panControl: false, 
      rotateControl: false, 
      scaleControl: false, 
      controlPosition: false, 
      navigationControl: false, 
      streetViewControl: false, 
      backgroundColor: 'transparent', 
      disableDoubleClickZoom: true, 
      zoom: 15, 
      keyboardShortcuts: false, 
      scrollwheel: false 
     } 
    }); 

    var marker = new google.maps.Marker ({ 
     map: map, 
     animation: google.maps.Animation.DROP, 
     position: new google.maps.LatLng(record.data.latitude, record.data.longitude), 
     icon: 'resources/images/marker.png' 
    }); 

    this.add([ 
     map 
    ]); 
}, 

控制檯的錯誤消息:

Uncaught Error: Invalid value for property <map>: [object Object] 

回答

0

試試這個:

var marker = new google.maps.Marker ({ 
    map: map.map, 
    animation: google.maps.Animation.DROP, 
    position: new google.maps.LatLng(record.data.latitude, record.data.longitude), 
    icon: 'resources/images/marker.png' 
}); 

希望helps-

編輯

爲什麼不創建一個單獨的文件與Ext.defining您的地圖,你只需將它添加爲您的容器項目。這樣你可以this.getMap()

+0

現在我沒有收到錯誤信息,但仍然沒有標記。 – torhoehn

+0

爲什麼不用Ext創建一個單獨的文件來定義你的地圖,而只是將它添加爲你的容器的一個項目。這樣你可以this.getMap() –