首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OpenLayers中刷新TMS层?

如何在OpenLayers中刷新TMS层?
EN

Stack Overflow用户
提问于 2011-02-08 03:39:56
回答 2查看 1.9K关注 0票数 2

我有一个TMS层,看起来像这样:

代码语言:javascript
复制
var v = 1;
my_tms = new OpenLayers.Layer.TMS(
    "My TMS",
    "my_mapserver.php?v="+my_var+"&",
     { transparent: 'true', type:'png', getURL:get_my_url }
);

其中my_mapserver.php根据v的值返回地图平铺。

这个应用程序允许用户更改v,而我只是想刷新my_tms层,然而,到目前为止,我唯一能让它刷新的方法是销毁地图并重新创建它。

我想我可以这样做:

代码语言:javascript
复制
v = 2;
my_tms = new OpenLayers.Layer.TMS(
    "My TMS",
    "my_mapserver.php?v="+my_var+"&",
     { transparent: 'true', type:'png', getURL:get_my_url }
);
my_tms.redraw();

但是,当我使用redraw()方法时,并没有请求这些平铺文件。

任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-08 05:23:07

由于TMS层继承自网格层,因此您可以尝试调用clearGrid()方法来删除所有现有的瓦片,然后调用spiralTileLoad()来加载新的瓦片。

票数 1
EN

Stack Overflow用户

发布于 2014-02-11 18:55:38

layer.redraw();OpenLayers.Strategy.RefreshclearGrid()没有帮助我在OpenLayers 2.13.1中重新加载OpenLayers.Layer.TMS层的tiles,但却帮助了我:

代码语言:javascript
复制
layer.mergeNewParams({});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4925687

复制
相关文章

相似问题

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