虚拟机通过rest API获取图例为白图

0 投票

在本地同样的数据可以获取到图例图片,在虚拟机中可以获取到图例但是为白图,legendUrl可以访问没有报错,但是同样是白图。没有设置隐藏,图例颜色应为绿色

11月 28, 2016 分类:  1259次浏览 | 用户: Lavone 初出茅庐 (21 分)

1个回答

0 投票
你使用的什么版本的iserver,虚拟机是什么系统,还有就是你使用虚拟机的图例的图片的url和你本机对比有什么不一样的地方
11月 28, 2016 用户: 刘美玲 名扬四海 (1,337 分)
虚拟机winserver2008,iserver810.虚拟机数据跟图例的URL跟本机是一样的,都是通过以下代码来获取专题图图例的,其中一个专题图在虚拟机图例可以显示。如果URL错误的话就无法访问,URL确认过是没错的

if (mapLayer.ugcLayerType == "THEME") {              
                container.innerHTML += '<h5>' + themeMaps + '</h5>';
                var itemLength = mapLayer.theme.items.length;
                for (var k = 0; k < itemLength; k++) {
                    var item = mapLayer.theme.items[k];
                    //在url中设置获取图例的参数,并加载
                    var legendUrl = baselayerUrl + themeMaps + "/layers/" + themeLayer + "@@" + themeMaps + "/items/" + k + "/legend.png?width=30&height=15";
                    container.innerHTML += '<div><img src=' + legendUrl + '>';
                    container.innerHTML += '<div style="width:50%;float:left">' + item.caption + '</div></div〉'
                }//              
            }
            else {
                if (mapLayer.visible == true) {
                    container.innerHTML += '<h5>' + themeMaps + '</h5>';
                    var legendUrl = baselayerUrl + themeMaps + "/layers/" + themeLayer + "@@" + themeMaps + "/legend.png?width=30&height=15";
                    container.innerHTML += '<div><img src=' + legendUrl + '>';
                    container.innerHTML += '<div style="width:50%;float:left">' + mapLayer.caption + '</div></div〉'
                }
            }
你直接在iserver的地图服务里,layers里面看一看那个图层的图例是什么

就是普通专题图的图例

不知道是什么原因,把iserver换成712就可以了。810在本地都是没问题的
私信我一下你的联系方式给我吧
...