地图路线单击事件在钛应用加速器中不起作用



我正在尝试在Appcelerator的地理编码器示例中添加可单击的路线。问题是我在单击路由对象时没有收到任何事件。

这是我的代码:

var cord1= {
    latitude:29.078685,
    longitude:-110.971205,
};
var cord2= {
    latitude:29.081496,
    longitude:-110.959232,
};
var route1 = [cord1, cord2];
var route = MapModule.createRoute({
    points : route1,
    color : "red",
    width : 5.0
});
route.addEventListener('click', function(e){
    Ti.APP.info(e);
});
$.mapview.addRoute(route);

Modules.Map.Route 对象没有任何事件。 除了地图视图本身之外,没有任何地图对象这样做,我们可以使用 mapview 的单击事件来侦听单击,然后检查 clicksource 属性以查看在地图上单击的内容。

问题是路由不会生成点击事件,但折线会生成,因此解决方法是使用折线并在地图视图的点击事件中查找点击源。 这样的事情应该有效:

var coord1 = [-110.971205, 29.078685];
var coord2 = [-110.959232, 29.081496];
var route1 = [coord1, coord2];
var route = MapModule.createPolyline({
    points: route1,
    strokeColor: "#ff0000",
    strokeWidth: 5
});
$.mapview.addPolyline(route);
$.mapview.addEventListener('click', function (e) {
    //check the clicksource for 'polyline'
    console.log(e.clicksource);
});

最新更新