Google maps api 3 数千个多边形和IE JavaScript语句限制

Google maps api 3 数千个多边形和IE JavaScript语句限制,google-maps-api-3,Google Maps Api 3,我正在编写一个应用程序,它需要一次显示多达4000个多边形,其中一些具有数百个坐标。每个多边形都需要一个用于mouseover、mouseout和双击的事件以及一个信息框标签 我在IE 8中遇到了一个JavaScript语句限制的问题。IE似乎限制JavaScript在一个执行块中处理5000000条VM语句,然后抛出一个丑陋的对话框警告用户长时间运行的脚本(不管脚本执行得有多快)。我通过在代码中放置JavaScript“setTimeout”语句来解决这个问题,并将处理过程分解成块。脚本现在可

我正在编写一个应用程序,它需要一次显示多达4000个多边形,其中一些具有数百个坐标。每个多边形都需要一个用于
mouseover
mouseout
双击的事件以及一个信息框标签

我在IE 8中遇到了一个JavaScript语句限制的问题。IE似乎限制JavaScript在一个执行块中处理5000000条VM语句,然后抛出一个丑陋的对话框警告用户长时间运行的脚本(不管脚本执行得有多快)。我通过在代码中放置JavaScript
“setTimeout”
语句来解决这个问题,并将处理过程分解成块。脚本现在可以在合理的时间内执行到完成,而不会出现错误

但我现在遇到的问题是,我的多边形已经构建并显示出来了。如果用户尝试缩放,IE中会超过5000000语句限制。但是,在这种情况下,在执行Google Maps API代码时会达到该限制,在该代码中,我没有控制权,无法设置超时或将其分块

在Chrome和Firefox中,没有任何问题,多边形加载速度惊人地快,只需几秒钟。平移和缩放同样不会引起问题

我尝试过的事情:

1) 减少JavaScript语句的数量。我试着让我的代码更精简。但这实际上发生在谷歌地图API代码中多边形的重画上,所以我不确定这会有什么影响

2) 通过要求精度较低的多边形来减少每个多边形的点数。这有点帮助,但没有解决问题

3) 更改IE“MaxScriptStatements”注册表项以阻止IE使用此限制。它是有效的,但对于我的应用程序来说,它不是一个实用的解决方案


还有其他人遇到过这个问题吗?

2个选项:1。对事件使用定制的tile和AJAX调用,如旧的V2演示--2。只使用真正的浏览器(不使用IE)。;-)+1个非常有趣的问题,我不知道有这样的限制,我一直认为这取决于时间。我只是看了一些使用自定义瓷砖的示例,我的问题是实际创建瓷砖。坐标是从数据库中读取的,每天都会发生变化。我不知道如何才能创建瓷砖,但也许我遗漏了什么?