首页 / 浏览问题 / 云GIS / 问题详情
iserver服务的代理问题
18EXP 2023年09月06日

在webgl中加载代理后的iserver地图服务形如 http://ip:端口/resp/ff80808189f93f7a018a4ae8036500aa/spm_rest 加载不出来,但加载原始的服务可以正常加。看后台网络请求的这个http://ip:端口/resp/ff80808189f93f7a018a4ae8036500aa/spm_rest/config 请求404,但正常加载原始服务请求的后缀是这个/maps/地图名称.json的url。这是什么原因造成的呢,是对iserver代理出来的服务的url的路径有什么限制么?

1个回答

您好,您检查下代理之后的地图服务地址是否打开正常,预览是否正常。另外webgl加载时是否使用imageryLayers图层,该图层加载地图服务填写url时应该填写到具体地图名称,例如:http://localhost:8090/iserver/services/map-china400/rest/maps/China

3,143EXP 2023年09月06日
openlayer可以,但是带token的没有测试  

    var map, url ="http://192.168.80.39:9999/resp/ff80808189f93f7a018a4ae8036500aa/spm_rest1"
    map = new ol.Map({
        target: 'map',
        controls: ol.control.defaults({attributionOptions: {collapsed: false}})
            .extend([new ol.supermap.control.Logo()]),
        view: new ol.View({
            center: [0, 0],
            zoom: 2,
            projection: 'EPSG:4326',
            multiWorld: true
        })
    });
    var layer = new ol.layer.Tile({
        source: new ol.source.TileSuperMapRest({
            url: url,
            wrapX: true
        }),
        projection: 'EPSG:4326'
    });
    map.addLayer(layer);
    map.addControl(new ol.supermap.control.ScaleLine());

您可以参考这个博客https://mcaitaco.blog.csdn.net/article/details/127240061?spm=1001.2014.3001.5502试试博客的加载方法能否正常加载?目前看是三维加载底层处理时把这个地图服务当成三维服务来处理了,您描述下怎么做的代理,我这边试试能不能复现。

location /resp/ff80808189f93f7a018a4ae8036500aa/spm_rest1 {
            proxy_pass http://192.168.2.100:8090/iserver/services/map-XZQ_S/rest/maps/XZQ_S;
        }

我使用nginx如上代理测试的,但是项目中的如何代理暂不了解,按我理解应该和代理层面无关,您可以用这种方式测试一下。
我这边测试了下确实存在这个问题,我这边和研发反馈下,研发修复之后我会及时联系您。目前您可以先按照我提供的那个博客的方法加载。

您好,该问题已经1111版本修复,您可以在官网下载1111版本的webgl进行验证,下载地址:http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx

...