我想在每次编辑路由时调用一个函数来做一些计算。
route_has_been_edited事件仅由现有路由触发(很遗憾)。
我将取消选择routeEditor
控件(这意味着路由刚刚创建)的事件连接到一个函数调用。
这个无名函数在新生成的route
中的routeupdate
事件和计算函数之间创建了一个连接。
这是我的新手尝试编码
routeEditor.events.add ('deselect', function (e) {
var route = e.get('target').getRoute();
alert ('Route length - ' + route.getLength());
// notice me, senpai
route.Editor.events.add ('routeupdate', recalc(polygon, route));
recalc (polygon, route);
alert("Watashi o mushi shinaide kudasaaai (>_<)");
});
我没有检查我是否做了第二个事件连接正确,但即使如此,为什么第一个警报工作,第二个没有?
看起来像一个错别字,导致JS出错(即使你没有看到它,也许错误是关闭的?)
改变:
route.Editor.events...
:
routeEditor.events...
如果这不是一个错别字,试着用route.Editor
注释掉这行,并确认两个警报都触发了。这可能是recalc
也导致JS崩溃。