我正在尝试从Appcelerator上添加Geocoder示例中的可点击路线。问题是单击路径对象时我没有收到任何事件。
这是我的代码:
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);
答案 0 :(得分:0)
Modules.Map.Route对象没有任何事件。除了地图视图本身之外,没有地图对象可以执行,我们可以使用mapview的click event来监听点击,然后检查clicksource
属性以查看在地图上点击的内容。
问题是路由不会生成点击事件,但polylines会这样做,因此解决方法是使用折线并在mapview的click事件中查找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);
});