首页 / 浏览问题 / WebGIS / 问题详情
在iserver上发布的地图服务无法调用,其他的已有地图服务可以调用
LHN
1EXP 2023年08月02日

自己在iServer 11 i上发布的地图服务无法调用,已有的地图服务示例可以调用,请问是什么原因?

下面是代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css" />
    <link rel="stylesheet" href="https://iclient.supermap.io/dist/leaflet/iclient-leaflet.min.css" />
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js"></script>
    <script type="text/javascript" src="https://iclient.supermap.io/dist/leaflet/iclient-leaflet.js"></script>
    <title data-i18n="resources.title_tiandituLayer_mecartor"></title>
    <script type="text/javascript" src="../js/include-web.js"></script>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
    <div id="map" style="width: 100%;height: 100%"></div>
    <script type="text/javascript" src="../../dist/include-leaflet.js"></script>
    <script type="text/javascript">
        

        // 添加天地图图层
        var map1 = new L.supermap
        .TiandituTileLayer({
            layerType: "vec",
            key:'fcaca2d3b196b980f186a3a26823ae0c'
        })

        var map2 = new L.supermap
        .TiandituTileLayer({
            layerType: "img",
            key:'fcaca2d3b196b980f186a3a26823ae0c'
        })

        var map3 = new L.supermap
        .TiandituTileLayer({
            layerType: "ter",
            key:'fcaca2d3b196b980f186a3a26823ae0c'
        })

        //实例化map对象
        var map = L.map('map', {
            center: {lng:104.06,lat:30.67},
            zoom: 6,
            crs: L.supermap.CRS.TianDiTu_Mercator,
            layers: [map1]
        });

        var baseMaps  = {
            '矢量图层':map1,
            '影像图层':map2,
            '地形图层':map3
        }
        L.control.layers(baseMaps).addTo(map);
        // new L.supermap
        // .TiandituTileLayer({
        //     layerType: "vec",
        //     isLabel:true,
        //     key:'fcaca2d3b196b980f186a3a26823ae0c'
        // })
        // .addTo(map);

        //添加iserver服务图层
        window.url= 'http://localhost:8090/iserver/services/map-SiChuan1/rest/maps/%E7%9C%81@SiChuan11?prjCoordSys=%7B%22epsgCode%22:3857%7D';

        new L.supermap.TiledMapLayer(url,{
            transparent: true,
            opacity: 0.9,
            // crs: L.supermap.CRS.TianDiTu_Mercator
        }).addTo(this.map);
        
    </script>
</body>
</html>

1个回答

您好

我刚才试了一下发布服务效果如下

不知道是不是你想要的那种效果,如果是则说明代码应该没问题,您可以打开开发者工具查看一下报错情况,或者在iServer里预览一下地图看是否可以成功预览,同时也注意坐标统一的问题。如果仍旧无法解决可以参考示例代码单独加载一下您发布的地图服务看是否能打开support.supermap.com.cn:8090/iserver/iClient/forJavaScript/examples/leaflet/editor.html#01_tiledMapLayer4326

希望可以帮到您

225EXP 2023年08月02日
请问您这个是在运行我的代码之后出来的吗?我在网页上检查了代码说找不到资源,我觉得坐标是没有问题的,我单独加载也加载不出来

我是随便发布了地图服务,换了个url带入至您的代码得到的结果,我的URL格式大致如下:http://localhost:8090/iserver/services/map-china400/rest/maps/China

通常情况下发布地图服务引用的URL为maps的下一级,您可以对照修改一下,

此外,您可以点击下述位置,查看能否对地图进行正常显示

请问打开后地图不能缩放正常吗?
您好,这应该是版本bug,在前端使用时是可以正常缩放的
但是图层在前端没办法显示是怎么回事?
坐标和发布的地图服务应该是没有问题的
请问方便远程看一下吗,方便的话可以私信发我todesk的识别码和密码
经查看是客户安装依赖问题,已解决
...