首页 / 浏览问题 / 云GIS / 问题详情
Leaflet图层切换
102EXP 2020年07月27日
使用产品:iserver 10.0.1、iclient 10i for Leaflet;操作系统:win7 x64

问题详细描述:您好,我用iclient 10i for Leaflet添加了图层切换空间,分别显示天地图矢量、影像和地形图层,但是三个单选框只有第一次点击时可以实现切换效果,第二次再点时就不切换了,哪个图层都出不来了,请问是什么原因?

1个回答

您好,图层切换https://iclient.supermap.io/examples/leaflet/editor.html#controler_layerswitcher可参考改范例,如果是无法出图,请确认三幅baselayer的坐标系是否统一

3,352EXP 2020年07月28日
您好,我就是按照您给的这个例子改的,坐标系应该没问题,第一次点的时候图层都能出来,但第二次再切换某个图层的话就出不来了,您给看一下下面的代码有问题吗?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title data-i18n="resources.title_layerSwitchControl"></title>
    <script type="text/javascript" src="js/include-web.js"></script>
    <script type="text/javascript" src="dist/leaflet/include-leaflet.js"></script>
    <style>
        .leaflet-control-layers.leaflet-control {
            margin-right: 60px;
        }
    </style>
</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">

    var tdt_vec=L.supermap.tiandituTileLayer({
            key: "49c334b7f61e855209b846bde9f67e4a"
        });
    var tdt_img=L.supermap.tiandituTileLayer({
            key: "49c334b7f61e855209b846bde9f67e4a",
            layerType:'img'
        });
    var tdt_ter=L.supermap.tiandituTileLayer({
            key: "49c334b7f61e855209b846bde9f67e4a",
            layerType:'ter'
        });
    var tdt_label=L.supermap.tiandituTileLayer({
            isLabel: true,
            key: "49c334b7f61e855209b846bde9f67e4a"
        });

    var map = L.map('map', {
            center: [40, 118],
            zoom: 6,
            crs: L.CRS.TianDiTu_WGS84,
            layers:[tdt_vec]
        });

    var baseMaps = {
        "矢量": tdt_vec,
        "影像": tdt_img,
        "地形": tdt_ter
    };
    

    var overlayMaps = {
        "地名": tdt_label
    };
    L.control.layers(baseMaps,overlayMaps).addTo(map);
</script>
</body>
</html>
...