我们有许多学生创建的校园地图。在大多数情况下,它运行良好,但是有一个持续存在的错误,我们无法清除。有一个侧边栏,列出了在地图上表示的建筑物和兴趣点,单击这些建筑物和兴趣点可在建筑物/ poi的多边形上[模拟点击] [1]。
function sideClick(poly) {
google.maps.event.trigger(buildingpoi[poly],'click');
};
其中buildingpoi [i]是一个数组,其中保存有关每个多边形的信息。
每当触发点击时,它都引用一个名为shapeClick()的方法,该方法处理信息的显示以及将地图重新定位在建筑物/ poi的中心。无论是多边形本身还是侧边栏中的链接,此方法都将完全执行而不会出错。
但是,当使用sideClick()函数或在代码中调用click触发器时,Google API文件(即main.js文件)会发生错误:
TypeError:b是不确定的
...(a.Va)|| b.set(“ poly”,null)})]}};函数VH(a){var b = a.Se; bb ||(Q(Xe ,功能(c){...
成功执行shapeClick()方法后,似乎会发生此错误,这表明该错误位于-在调用shapeClick()之后的某个时刻,该错误位于GMaps API main.js文件的错误消息中。通常,这不会在前端引起问题,但是当我尝试包含另一个调用sideClick()的方法时,由于错误,我放置在sideClick()之后的任何代码都不会执行。
我已经尝试了许多自己的测试/修复程序,但是我能做的最好的事情就是缩小触发错误的位置。我的搜索结果似乎也提出了相关但不相似的结果。我认为答案可能非常简单,但对我而言却难以捉摸。
尽管您没有访问中的event
-argument shapeClick
(触发事件时将不会提供该参数),但似乎API在内部尝试访问此参数。
该API尝试读取PolyMouseEvent
(这event
就是预期的)顶点属性(不要问我为什么)。
访问未定义对象的属性会导致错误,这就是消息的含义。
触发事件时,提供一个空对象作为参数:
google.maps.event.trigger(buildingpoi[poly], 'click',{});
...错误将消失(访问现有对象的未定义属性不是错误)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句