gpt4 book ai didi

javascript - 无法在 openlayers 中将图层名称作为变量传递

转载 作者:行者123 更新时间:2023-12-03 09:42:57 24 4
gpt4 key购买 nike

我正在尝试从 Openlayers2.12 中的 geoserver 加载图层,如下所示:

var layerName = 'something';
wms_layer_larisa2 = new OpenLayers.Layer.WMS( layerName,"http://localhost:8080/geoserver/gwc/service/wms", //http://192.168.2.6:8080/geoserver/wms
{
layers: "'es:"+layerName+"'",
format: "image/png",
transparent: true,
"version": "1.1.1",
tiled: true

},
{
format: "image/png",
//STYLES: "pointOikismoi",
//visibility: true,
//tileOptions: {maxGetUrlLength: 2048},
displayOutsideMaxExtent: false,
projection: new OpenLayers.Projection("EPSG:900913"),
}
);

map.addLayer(wms_layer_larisa2);

如您所见,我没有直接定义图层的名称(通常),但我想将其作为变量传递。这会导致无法成功创建图层。尽管它添加在图层切换器中,但它不可见(一切都变成粉红色,所以我猜它找不到它)。你能告诉我如何修复它吗?以下部分应该是什么样子:

layers: "'esoteriko:"+layerName+"'",

最佳答案

它不起作用,因为“esoteriko”是一个字符串。你可以 eval(),但我不推荐。这是错误的使用方式。检查例如http://24ways.org/2005/dont-be-eval/寻找解决方案或者你用

做一些事情
switch(string) {
case 'esoteriko':
map.addLayer(esoterikolayer);
break;
... other cases
}

关于javascript - 无法在 openlayers 中将图层名称作为变量传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com