首页 / 浏览问题 / 云GIS / 问题详情
请教iserver中互联网地图的百度地图叠加地图
79EXP 2021年11月22日

想问下,用的是互联网地图中的百度地图,想用它作为底图,通过叠加地图添加一个坐标系相同的底图,但是地图没叠加上,没显示出来,怎么回事

代码如下:

        var host = "http://localhost:8090/";
        var map, themeService, themeGraph, themeParameters, themeLayer,
            mapUrl = host + "iserver/services/map-xxs/rest/maps/weibinqu",
         map = L.map('map', {
            crs: L.CRS.Baidu,
            center: [35.3, 113.89],
            zoom: 10
        });
        L.supermap.baiduTileLayer("", {
            noWrap: true
        }).addTo(map);

        L.supermap.tiledMapLayer(mapUrl).addTo(map);
        L.supermap.tiledMapLayer(mapUrl, { noWrap: true }).addTo(map);

1个回答

您好,这边进行测试是可将图层通过L.supermap.tiledMapLayer方法叠加到百度地图图层上的,请看下是否是数据问题。

这边没有百度坐标系的数据,验证方法为叠加一个3857坐标系数据到百度图层上,虽然显示效果比较糟糕,由于Map坐标系的原因,但是是可以验证的。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title data-i18n="resources.title_baiduLayer"></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="margin:0 auto;width: 100%;height: 100%"></div>
<script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>
<script type="text/javascript">
        var map = L.map('map', {
            crs: L.CRS.Baidu,
            center: [0, 0],
            zoom: 3
        });
        console.log(L.CRS.Baidu);
        L.supermap.baiduTileLayer("", {
            noWrap: true
        }).addTo(map);
        L.supermap.baiduTileLayer("", {
            noWrap: true
        }).addTo(map);
        L.supermap.tiledMapLayer("https://iserver.supermap.io/iserver/services/map-china400/rest/maps/China").addTo(map);
    </script>
</body>
</html>

您可以尝试将上面的代码复制到超图官网编译器中查看。

效果差了一些但不影响验证。

如需后续验证可以将百度数据发送到我的邮箱yanyixiao@supermap.com

420EXP 2021年11月22日
...