[英]How do I refresh a TMS layer in OpenLayers?
我有一個TMS層,看起來像這樣:
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圖層,但是,到目前為止,我可以刷新它的唯一方法是銷毀地圖並重新創建它。
我以為我可以做這樣的事情:
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()時,未要求這些磁貼。
任何幫助表示贊賞。
由於TMS圖層是從Grid圖層繼承的,因此您可以嘗試調用clearGrid()方法來刪除所有現有的圖塊,然后再調用spiralTileLoad()來加載新的圖塊。
layer.redraw();
, OpenLayers.Strategy.Refresh
和clearGrid()
不能幫助我重新加載OpenLayers 2.13.1中的OpenLayers.Layer.TMS
層的圖塊,但可以幫助:
layer.mergeNewParams({});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.