Sencha Touch谷歌地图标记听众无法正常工作

时间:2011-08-05 10:07:12

标签: javascript google-maps sencha-touch

我在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等。

感谢。

2 个答案:

答案 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