1

我正在开发一个使用 OpenLayers 绘制地图并在其上添加信息层的网站。一切正常,但只有一件事。

当我添加一个新的信息层时,我希望它在其他层之上,但是当我之前添加一层信息时,我希望其他层在上面。

我的观点是:最后一次点击应该在顶部。

现在,当我想将图层的可见性设置为“是”时,会触发:

myLayer.setVisibility(true);
map.setLayerIndex(myLayer, 700);

我尝试用非常高的价值替换 700,但它没有任何改变。我也试过这个:

map.raiseLayer(myLayer, map.layers.length);

但似乎没有任何效果。该层仍然出现在其他层之下......

如果你有想法,请告诉我。在此先感谢您的帮助!

PS:这是网站(不知道能不能看到): http: //labqc.wul.qc.ec.gc.ca/MetViewer/

要进行测试,您必须在左侧选择一个图层(将显示图像),然后单击右上角的 (+) 图标以选择该图层,然后添加,比如说 BV - Canada。多边形会出现图像 insteaf 的顶部,我想要相反的情况。

.

4

1 回答 1

0

在使用 raiseLayer 或 setLayerIndex 函数后,您需要明确请求图层自行重绘,因为这些函数不会自动触发重绘:请参阅http://trac.osgeo.org/openlayers/browser/trunk/openlayers/ lib/OpenLayers/Map.js。一个简单的

 this.redraw();

或者

 map.layers[layerIndex].redraw();

取决于你从哪里处理这个,应该足够了。

于 2014-06-17T12:51:35.433 回答