我在Google地图上遇到了与听众有关的问题。
var marker_icon = new google.maps.MarkerImage('images/map/' + thisIcon + '.png', new google.maps.Size(32, 32)); var trafficMarker = new google.maps.Marker({
position: new google.maps.LatLng(alert.lat, alert.lon),
map: trafficMap,
icon: marker_icon,
id: 'trafficAlertIcon' + i
});
console.log('Test Log3');
google.maps.Event.addListener(trafficMarker, 'mousedown', function()
{
console.log('touched marker');
trafficTabPanel.layout.setActiveItem(1, {type: 'slide', direction: 'left'});
LoadIncidentMap(this.id.substring(16));
});
侦听器似乎存在问题,因为它没有触及console.log('触摸标记');.
我已经尝试将侦听器更改为trafficMap,以查看是否响应,但事实并非如此。我试过,点击,mousedown,mouseup等。
感谢。
答案 0 :(得分:1)
当前版本的Sencha Touch存在一个错误。
此处有一个解决方法: - Maps Listener on click。
只需在启动地图之前添加以下代码:
Ext.gesture.Manager.onMouseEventOld = Ext.gesture.Manager.onMouseEvent;
Ext.gesture.Manager.onMouseEvent = function(e) {
var target = e.target;
while (target) {
if (Ext.fly(target) && Ext.fly(target).hasCls('x-map')) {
return;
}
target = target.parentNode;
}
this.onMouseEventOld.apply(this, arguments);
};
希望这有帮助!
答案 1 :(得分:0)
google.maps.event
不是
google.maps.Event