未捕获的TypeError:无法读取null的属性'__e3_'

时间:2016-01-31 17:33:18

标签: javascript google-maps-api-3

在Google地图中拖动多边形时,我会随机收到错误Uncaught TypeError: Cannot read property '__e3_' of null。我的意思是,大多数时候我拖动多边形按预期工作,但很少有几次失败。

在Google Chrome控制台中,显示的错误是:

1)错误标题:

Uncaught TypeError: Cannot read property '__e3_' of null js?libraries=drawing,geometry:87

2)错误正文:

_.I.hasListeners    @   js?libraries=drawing,geometry:87
_.I.trigger @   js?libraries=drawing,geometry:88
W1  @   poly.js:20
_.t.mm  @   poly.js:82
_.I.trigger @   js?libraries=drawing,geometry:88
(anonymous function)    @   js?libraries=drawing,geometry:34
_.I.trigger @   js?libraries=drawing,geometry:88
(anonymous function)    @   common.js:79
_.I.trigger @   js?libraries=drawing,geometry:88
Mm  @   common.js:69
(anonymous function)    @   common.js:225
(anonymous function)    @   common.js:225

编辑: 我没有粘贴代码块,而是提供了一个小提琴,作为代码工作的一个例子: https://jsfiddle.net/w6Lnk47u/16/

错误似乎在这一行:

var isMarkerContained = google.maps.geometry.poly.containsLocation(CREAR_CAMP.markerWithLabelCasaClub.getPosition(), CREAR_CAMP.polygonArea);

要重现错误,有人必须:

1)首先单击左侧启用的一个,然后在地图上绘制一个多边形。

2)单击右侧现在启用的按钮(当多边形的绘制完成时启用),它将在多边形内显示一个标记。现在是错误发生的时候了。有人只需要尝试移动和调整多边形的大小(尝试将标记留在多边形区域之外),它将在Google Chrome控制台中显示错误。正如我所说的那样,它会随机发生几次。

1 个答案:

答案 0 :(得分:3)

这似乎是Google的一个错误。

以下是使用Google suggests进行绘制的最小代码的小提琴:https://jsfiddle.net/TomKarachristos/hc7nwwdx/。我只更改选项。

如果你玩够了,你会发现触发了同样的错误,因此代码中没有问题。

如果您不想出现此错误,则必须使用window.onerror:

window.onerror = function(msg, url, lineNo, columnNo, error) {
  #maybe some condition code
  return true; //suppress error
}

但我不推荐它。