【问题标题】:Fusion Table Layer Caching issue融合表层缓存问题
【发布时间】:2012-11-26 22:18:58
【问题描述】:

我创建了一系列融合表层,并对其中一个层应用过滤以响应复选框单击事件。地图的基础层包含应用于县边界的梯度。未选中基础层时,过滤层将失去其样式。我为所有查询添加了唯一的时间戳以避免缓存,但是我感觉这些图像切片仍然会在这种情况下被缓存。有没有办法强制 google fusion tables api 使缓存的图像无效?

测试站点在这里:http://map.inquestmarketing.com/new.html

取消选中 Other -> Consumer Prospects 复选框会重现该问题。

这是一个纯客户端应用程序,所有源代码都在一个页面中。

更新

我能够通过将样式过滤器应用于 FusionTablesLayer 客户端来解决此问题。

我过滤了 3 种不同的情况,但为了全面应用我可以使用的样式:

样式:[{ 标记选项:{ 图标名称:“大蓝” } }]

在 FusionTablesLayer 构造函数和 setOptions 函数中。

希望这对其他人有帮助!

【问题讨论】:

    标签: google-maps-api-3 google-fusion-tables


    【解决方案1】:

    我不认为有任何方法可以防止缓存磁贴数据。 因为 Fusion Table 在 Google 服务器上渲染平铺图像,通常需要一些时间。

    此外,大多数浏览器会根据 FusionTableLayer(即 Javascript)生成的 URL 缓存图像。

    【讨论】:

      【解决方案2】:

      问题是您地图上的编码问题;您根据该(消费者前景)复选框隐藏this layer。如果您希望它显示,请不要隐藏它并使其隐藏。我不明白为什么蓝色标记会与之搭配。

      【讨论】:

        【解决方案3】:

        根据 Google 的 Kathryn 所说,您可以通过添加时间戳来刷新磁贴。这是一个 jQuery sn-p,您可以使用或适应您的需求。

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

        来源:https://groups.google.com/forum/#!msg/fusion-tables-users-group/wCLHnyoZRYk/MtLHFZ-o4zAJ

        【讨论】:

        • 看起来很有帮助...但是 Google 的 Kathyrn 是谁?
        猜你喜欢
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        • 2012-12-03
        • 2013-04-17
        • 1970-01-01
        • 2014-01-23
        • 2013-07-16
        • 1970-01-01
        相关资源
        最近更新 更多