Sencha Touch Google Maps 标记监听器不工作

Posted

技术标签:

【中文标题】Sencha Touch Google Maps 标记监听器不工作【英文标题】:Sencha Touch Google Maps marker listener not working 【发布时间】:2011-08-05 10:07:12 【问题描述】:

我在 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('touched marker');。

我尝试将侦听器更改为 trafficMap 以查看它是否响应,但它没有。我试过了,click,mousedown,mouseup等。

谢谢。

【问题讨论】:

【参考方案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);
;

希望这会有所帮助!

【讨论】:

【参考方案2】:

google.maps.event

不是

google.maps.Event

【讨论】:

以上是关于Sencha Touch Google Maps 标记监听器不工作的主要内容,如果未能解决你的问题,请参考以下文章

在 Sencha Touch MVC 中实现 Google Maps Directions

Sencha Touch 2:Google Maps Directions Route 不会显示

HTML5开发移动web应用——Sencha Touch篇(12)

使用 Sencha Touch 时,Google 地图标记点击在 iPad 上不起作用

Sencha touch 2:地图标记标题

sencha touch 按距离排序列表