当在屏幕上绘制Google多边形时,是否有一种通知方式?
我有数百个点的可编辑多边形,它们需要一段时间才能在屏幕上显示(大约一秒)。我想添加某种“加载”,然后当显示可编辑多边形时,隐藏通知。
我尝试过以下方法,但是由于多边形上没有load事件,所以它不起作用。
google.maps.event.addDomListener(gPolygon, 'load', function () {
alert("addDomListener -- LOAD");
});
google.maps.event.addListener(gPolygon, 'load', function () {
alert("addListener -- LOAD");
});我唯一的其他选择是设置某种定时器,并尝试猜测何时显示多边形。
发布于 2015-07-16 13:09:49
我使用以下代码对非常长的多边形(125000点)进行了测试:
> console.log(new Date().getTime());p.setMap(map);console.log(new Date().getTime())
1437051805161
1437051805229
< undefined由于时间差异很大(68 ms),而只有两个日期的时间相差1ms,所以我认为google.maps.Polygon.setMap是同步的。这意味着,只需将事件触发为setMap命令之后的另一个代码块就可以了。
如果需要,可以创建一个prototype函数:
google.maps.Polygon.prototype.setMapListener(map, func, args){
this.setMap(map);
func(args);
}https://stackoverflow.com/questions/31442861
复制相似问题