首页 / 浏览问题 / 云GIS / 问题详情
原生openlayers加载超图iserver发布的rest服务无法访问 权限都给了
4EXP 2024年07月24日
无法访问服务,矢量地图缓存不显示,但在iserver提供的服务中可以正常浏览

1个回答

您好,

1、openlayers是否正确设置了目标坐标系呢?如果坐标系设置不正确地图无法正常出图

2、控制台有没有报错呢?
1,000EXP 2024年07月25日
设置了坐标系   projection: 'EPSG:4326', // 坐标系 控制台无报错

您试试在这个范例页面加载您地图的url看能不能正常加载:https://iclient.supermap.io/examples/openlayers/editor.html#01_tiledMapLayer4326

是可以加载上的但是 我使用的是原生openlayers没有source.TileSuperMapRest这个方法
您原生openlayers是怎么加载的呢?可以贴下代码吗
我是用的

    const superMapLayer = new TileLayer({

      source: new XYZ({

          url: "https://iserver.supermap.io/iserver/services/map-world/rest/maps/World/zxyTileImage.png?z={z}&x={x}&y={y}&width=256&height=256"

      })

      }); 地址是我iserver的 不行

怀疑是您地图视图没设置正确,我用以下代码是能正常加载的:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OpenLayers Map Example</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ol@v7.2.2/ol.css">
    <style>
        .map {
            width: 100%;
            height: 800px;
        }
    </style>
</head>
<body>
    <div id="map" class="map"></div>

    <script src="https://cdn.jsdelivr.net/npm/ol@v7.2.2/dist/ol.js"></script>
    <script>
        var map = new ol.Map({
            target: 'map',
            layers: [
                new ol.layer.Tile({
                    source: new ol.source.XYZ({
                        url: 'https://iserver.supermap.io/iserver/services/map-world/rest/maps/World/zxyTileImage.png?z={z}&x={x}&y={y}&width=256&height=256',
                    })
                })
            ],
            view: new ol.View({
                center: [0, 0],
                zoom: 2
            })
        });
    </script>
</body>
</html>

...