0

我的网页在 Google 地图上显示运行时生成的 FusionTables 数据。

问题是:当您创建一个几何类型列的 FusionTable 并首次显示它时,Google 必须在其服务器端缓存中加载所有相关的地图图块。这需要一段时间 - 有时 2-3 秒,有时 15 -20 秒。在缓存期间,地图应该显示一个灰色的叠加层,上面写着“数据可能仍在加载...”。我想避免这个屏幕,因为它非常有问题。有时会显示叠加层,有时不显示。

我正在寻找一种方法来检测是否所有地图图块都已缓存,以便我可以向用户显示地图。

我已经尝试过定期刷新地图图块,但这不会给我什么时候停止刷新的反馈:

    $("img[src*='googleapis']").each(function(){
       $(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime());
    }); 

出于这个原因,我正在寻找其他解决方案。

4

2 回答 2

0

尝试简化您的地理数据。当服务器端进程错过在合理时间内提供地图切片的最后期限时,将显示该消息。通过降低多边形的复杂性,您更有可能看不到“数据可能仍在加载......”消息图块。

您可以通过两种方式降低复杂性:减少定义多边形的顶点(点)的数量,并降低纬度/经度位置的精度。

另请注意,作为仅供参考,由于不同的查看者一次又一次地调用完全相同的地图,处理结果会在服务器端缓存,并且消息出现的可能性要小得多,然后通常是由于公共缓存。

-丽贝卡

于 2013-01-31T17:32:15.380 回答
0

Answering my own question: simply there's no way to do it as of now.

As a sidenote: I'd never advise anyone to think about using FusionTables to display dynamically generated geographic data. It's not designed that way. Only use FT if you have a somewhat static dataset that changes rarely.

于 2013-03-21T19:52:35.487 回答