первого, вы должны поставить панель на карту в качестве элемента вашей вкладки контейнера:
{
xtype: 'map',
useCurrentLocation: false,
mapOptions: {
disableDefaultUI: true,
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
}
рядом, вы можете обратиться к нему в конкретном контроллере этой точки зрения следующим образом:
config: {
refs: {
...
mymap: '.map',
...
},
...
}
таким образом вы можете иметь ссылку вашего объекта карты в контроллер б у типирование:
this.getMymap()
и может присоединить обработчик к карте, чтобы сделать какое-то действие на него, когда он визуализируется:
this.getMymap().on('maprender', this.onMapRender, this, { single: true });
где «onMapRender» является метод контроллера. Вы должны сделать это, если хотите, например, сделать маркер над картой и центрировать его, потому что перед событием «maprender», отправленным с помощью карты, вы не можете делать никаких действий над ним (объект GMap просто делает еще не существует), поэтому, например, в контроллере, обработчик может быть:
onMapRender: function(e) {
var latLngCoordinates = new google.maps.LatLng(..., ...)
marker = new google.maps.Marker({
position: latLngCoordinates,
animation: google.maps.Animation.DROP,
map: this.getMymap().getMap()
});
this.getMymap().setMapCenter(latLngCoordinates);
}
наслаждаться с ним;)
Он работал спасибо. Одна небольшая модификация, которую я сделал, заключалась в том, что я поместил свою панель карты в отдельное представление, которое расширяет Ext.Map. – bert