首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在客户端检测FusionMap tiles是否已缓存并准备显示?

如何在客户端检测FusionMap tiles是否已缓存并准备显示?
EN

Stack Overflow用户
提问于 2013-01-31 14:23:00
回答 2查看 98关注 0票数 0

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

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

我正在寻找一种方法来检测是否所有的地图瓦片缓存,以便我可以显示地图给用户。

我已经尝试定期刷新地图瓦片,但这不会给我提供何时停止刷新的反馈:

代码语言:javascript
复制
    $("img[src*='googleapis']").each(function(){
       $(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime());
    }); 

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-22 03:52:35

回答我自己的问题:简单地说,目前还没有办法做到这一点。

顺便说一句:我从来不建议任何人考虑使用FusionTables来显示动态生成的地理数据。它不是这样设计的。只有当你有一个很少改变的静态数据集时,才使用FT。

票数 0
EN

Stack Overflow用户

发布于 2013-02-01 01:32:15

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

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

还请注意,作为FYI,由于不同的查看器一次又一次地调用完全相同的映射,处理结果被缓存到服务器端,消息出现的可能性变得很小,然后通常是由于公共缓存。

-Rebecca

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14619665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档