首页 / 浏览问题 / 组件GIS / 问题详情
更新接口 打点还在 怎么删除 更新 打点数据
3EXP 2023年03月15日

//接口

//打点

1个回答

您好,没有太理解您说的更新接口是什么意思。

不过看您代码使用的是L.marker.addTo方法对地图中添加了bindpopup气泡,如果您是想把这些气泡图标都删除掉的话。

建议您在添加maker时专门创建图层来控制,需要删除时,直接对您的这个图层。

Layer.clearLayers();

给您写了个demo,您可以参考一下

<!--********************************************************************
* Copyright© 2000 - 2022 SuperMap Software Co.Ltd. All rights reserved.
*********************************************************************-->
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title data-i18n="resources.title_measureDistance"></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, resultLayer, url = host + "/iserver/services/map-world/rest/maps/World";
    map = L.map('map', {
        preferCanvas: true,
        crs: L.CRS.EPSG4326,
        center: [34, 108],
        maxZoom: 18,
        zoom: 3
    });

    test();

    function test() {
        new L.supermap.TiledMapLayer(url).addTo(map);
        makerLayer = L.featureGroup().addTo(map);
        var polyLine = L.polyline([[25, 102], [40, 116]], {color: "red"});
        var marker1 = L.marker([25, 102]), marker2 = L.marker([40, 116]);
        makerLayer.addLayer(polyLine);
        makerLayer.addLayer(marker1);
        makerLayer.addLayer(marker2);
        //清空该图层内要素
        //makerLayer.clearLayers();

    }
</script>
</body>
</html>

希望可以帮助到您。
9,343EXP 2023年03月15日
好的  我先看看 研究研究  谢啦

接口更新就是  切换数据变化打点数以及位置   列如  传个参数code     为 3421312 的时候是两条数据 再地图打点就两个 code  为34103 数据为五条    再地图打点应该是五个    不同的省市code 数据是不一样的
我看你这几个 include-web.js  include-leaflet.js 有吗 我看看这个demo有什么效果
这个是你们的业务接口,就得您根据基础iClient能力来设计实现你们接口对接了。

测试的话,可以拷到任意一个leaflet示例的源码里面测试查看

https://iclient.supermap.io/examples/leaflet/examples.html#iServer

文件的话在iClient leaflet包里或在线引用里都有

离线包:

https://iclient.supermap.io/web/download/download.html

在线引用:https://iclient.supermap.io/web/introduction/leafletDevelop.html

//这不是加了图层

new L.supermap.TiledMapLayer(url).addTo(this.mapObj)

      this.polygonLayer = new L.featureGroup().addTo(this.mapObj)

    this.mapObj.addLayer(this.polygonLayer)

//现在需要再加个图层  对打点操作的吗

      this.makerLayer = L.featureGroup().addTo(this.mapObj);
没有理解您说的这个是什么意思,我看您代码加点的是

let mkLayer = marker
.addTo(self.polygonLayer).bindPopup(item.serviceName)

您直接清除您这个self.polygonLayer内的要素就行。
...