drawingManager.setDrawingMode(null) 导致太多递归
drawingManager.setDrawingMode(null) causing too much recursion
请查看此 fiddle、http://jsfiddle.net/HoffZ/Zu55b/
为什么它在 drawMan.setDrawingMode(null)
上导致错误 "too much recursion"
drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
// When draw mode is set to null you can edit the polygon you just drawed
drawMan.setDrawingMode(null);
});
这不是我的 fiddle 但我的代码中确实存在这个问题
我必须承认我不太明白为什么会这样。
但下面的代码似乎有效:
google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
if (drawMan.getDrawingMode()) {
drawMan.setDrawingMode(null);
}
});
看起来像一个错误。 setDrawingMode
函数似乎触发了 overlaycomplete
侦听器。今天才开始发生在我身上。
MrUpsidown 的回答实际上触发了 overlaycomplete
第二次。除非你需要一直监听事件,否则你应该清除它。
drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
google.maps.event.clearListener(drawMan, 'overlaycomplete');
drawMan.setDrawingMode(null);
});
此代码适用于我,但这是 google 错误。
if (drawManager.drawingMode) {
drawManager.setDrawingMode(null);
}
问题出在 3.exp。现在将其切换到 3.8,问题将得到解决。
请查看此 fiddle、http://jsfiddle.net/HoffZ/Zu55b/
为什么它在 drawMan.setDrawingMode(null)
drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
// When draw mode is set to null you can edit the polygon you just drawed
drawMan.setDrawingMode(null);
});
这不是我的 fiddle 但我的代码中确实存在这个问题
我必须承认我不太明白为什么会这样。
但下面的代码似乎有效:
google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
if (drawMan.getDrawingMode()) {
drawMan.setDrawingMode(null);
}
});
看起来像一个错误。 setDrawingMode
函数似乎触发了 overlaycomplete
侦听器。今天才开始发生在我身上。
MrUpsidown 的回答实际上触发了 overlaycomplete
第二次。除非你需要一直监听事件,否则你应该清除它。
drawMan.setDrawingMode(google.maps.drawing.OverlayType.POLYGON);
google.maps.event.addListener(drawMan, 'overlaycomplete', function (event) {
google.maps.event.clearListener(drawMan, 'overlaycomplete');
drawMan.setDrawingMode(null);
});
此代码适用于我,但这是 google 错误。
if (drawManager.drawingMode) {
drawManager.setDrawingMode(null);
}
问题出在 3.exp。现在将其切换到 3.8,问题将得到解决。