首页 / 浏览问题 / 其他 / 问题详情
javascript调用iserver地图不显示
12EXP 2018年05月15日
javascript调用我自己发布的iserver服务,地图不显示,但是调用原始提供的可以显示。

代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>SuperMap REST 3857地图</title>
    <script type="text/javascript" src="include-openlayers.js"></script>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%">
<div id="map" style="width: 100%;height:100%"></div>
<script type="text/javascript">
    var map, url = "http://ip:8090/iserver/services/map-MapWorldChina2/wms111/MapWorldChina";
    map = new ol.Map({
        target: 'map',
        controls: ol.control.defaults({attributionOptions: {collapsed: false}})
            .extend([new ol.supermap.control.Logo()]),
        view: new ol.View({
            center: [108.07 , 30.84],
            zoom: 1,
            projection: 'EPSG:3857'
        })
    });
    var layer = new ol.layer.Tile({
        source: new ol.source.TileSuperMapRest({
            url: url,
            wrapX: true
        }),
        projection: 'EPSG:3857'
    });
    map.addLayer(layer);
</script>
</body>
</html>

请大神帮忙解决!!谢谢!!

1个回答

URL地址写错了,你写成wms地址了,写成rest地图服务地址就行。

 url = "http://ip:8090/iserver/services/map-MapWorldChina2/wms111/MapWorldChina"
115EXP 2018年05月15日
看格式是对的,看看这个地址能否在浏览器中打开,或使用js表述能访问不~
能访问,但是在js中调用不显示地图
中心点是不是写错了?你写的这个中心点是不是4326的
zoom: 2,
 projection: 'EPSG:4326'

改成这样就显示了
对啊,你的中心点写的是4326的,而你的投影方式写的是3857
...