鼠标点击地图生成新maker旧的消失只存在一个maker

0 投票
使用产品:iserver 10i V10.0.1 操作系统:win10 x64
问题详细描述:您好,我想请问您在iClient for leaflet中,怎么实现地图中只存在一个maker,就是说当鼠标点击生成一个新的maker时,旧的maker就会消失掉。谢谢您了。
2月 27 分类:  46次浏览 | 用户: moqian (7 分)

1个回答

0 投票

您可以参考这个代码


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title data-i18n="resources.title_tiledMapLayer4326"></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 host = window.isLocal ? window.server : "https://iserver.supermap.io";
    var map, url = host + "/iserver/services/map-world/rest/maps/World";
    map = L.map('map', {
        crs: L.CRS.EPSG4326,
        center: [0, 0],
        maxZoom: 18,
        zoom: 1
    });
    var latlng = [];
    var marker;
    L.supermap.tiledMapLayer(url).addTo(map);
    map.on('click',function(e){
        latlng.push([e.latlng.lat,e.latlng.lng]);
        if(latlng.length>1){
            marker.remove();
            marker = L.marker(latlng[latlng.length-1]).addTo(map);
        }
        else{
            marker = L.marker(latlng[0]).addTo(map);
        }
    });
    
</script>
</body>
</html>

2月 27 用户: 于浩 登峰造极 (5,662 分)
谢谢大佬
...