こんにちは、コールバック関数の設定が難しいと感じています。リストがあり、コントローラーで、リスト内の各アイテムをリッスンしようとしています。これにより、各アイテムがテープに記録されると、次のマップが表示されます。その特定のアイテムについて、私のストアで指定された緯度とログを指すマーカー。これにはアイテムタップも最適だと思っていましたが、コントローラーで設定する方法がわかりません。
この私の店:
Ext.define('List.store.Presidents', {
extend : 'Ext.data.Store',
config : {
model : 'List.model.President',
sorters : 'lastName',
storeId: 'contactmap',
grouper : function(record) {
return record.get('lastName')[0];
},
data : [{
firstName : "Ikhlas HQ",
lastName : "Tower 11A, Avenue 5, Bangsar South, No.8 Jalan Kerinchi 59200 Kuala Lumpur",
lat : 3.110649,
lng : 101.664991,
id: '200',
},
{
firstName : "PEJABAT WILAYAH SELANGOR",
lastName : "No. 97, 97-1 & 97-2, Jalan Mahogani 5/KS7, Ambang Botanic, 41200 Klang, Selangor",
lat : 3.003384,
log : 101.45256,
id: '001',
},]}
});
これは私のコントローラーです:
Ext.define('List.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
main: 'mainpanel',
},
control: {
'presidentlist': {
disclose: 'showDetail'
},
} },
showDetail: function(list, record) {
this.getMain().push({
xtype: 'presidentdetail',
title: record.fullName(),
data: record.getData(),
listeners: {
itemtap : function(component, map, geo, eOpts) {
var contactmap = Ext.getStore('contactmap');
contactmap.load({
callback:function(records,map,componet,lad,log){
var position = new google.maps.LatLng();
}
var marker = new google.maps.Marker({
position: position,
map: map
});
var infowindow = new google.maps.InfoWindow({
content: 'Working Fine'
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker);
});
});
},
},
})
},
});
私がここで助けを得ることができれば、この時点で立ち往生しています。ありがとう